Micron Document
<!DOCTYPE html>
<html class="client-nojs vector-feature-night-mode-disabled vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-sticky-header-enabled" lang="en" dir="ltr"><head>
<meta charset="UTF-8">
<title>Discrete dipole approximation</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="canonical" href="https://en.wikipedia.org/wiki/Discrete_dipole_approximation"> <link href="./mw/ext.cite.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/ext.math.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/mediawiki.page.gallery.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.icons.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.search.codex.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/user.styles.css" rel="stylesheet" type="text/css">
<meta name="ResourceLoaderDynamicStyles" content="">
<link rel="stylesheet" type="text/css" href="./mw/site.styles.css">
<link rel="stylesheet" type="text/css" href="./mw/noscript.css">
<link rel="stylesheet" type="text/css" href="./footer.css">
<link rel="stylesheet" type="text/css" href="./vector-2022.css">
</head>
<body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-Discrete_dipole_approximation rootpage-Discrete_dipole_approximation skin-vector-2022 action-view">
<div class="mw-page-container">
<div class="mw-page-container-inner">
<div class="mw-content-container">
<main id="content" class="mw-body">
<header class="mw-body-header vector-page-titlebar">
<h1 id="firstHeading" class="firstHeading mw-first-heading">
<span id="openzim-page-title" class="mw-page-title-main"><span class="mw-page-title-main">Discrete dipole approximation</span></span>
</h1>
</header>
<a id="top"></a>
<div id="bodyContent" class="vector-body ve-init-mw-desktopArticleTarget-targetContainer" aria-labelledby="firstHeading" data-mw-ve-target-container="">
<div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="en" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="en" dir="ltr"><p>The <b>discrete dipole approximation</b> (<b>DDA</b>), also known as the <b>coupled dipole approximation</b>, is a numerical method for computing the scattering and absorption of electromagnetic radiation by particles of arbitrary shape and composition. The method represents a continuum target as a finite array of small, polarizable dipoles, and solves for their interactions with the incident field and with each other. DDA can handle targets with inhomogeneous composition and anisotropic material properties, as well as periodic structures. It is widely applied in fields such as <a href="Nanophotonics" title="Nanophotonics">nanophotonics</a>, <a href="Radar" title="Radar">radar</a> scattering, <a href="Aerosol" title="Aerosol">aerosol</a> physics, <a href="Biomedical_optics" class="mw-redirect" title="Biomedical optics">biomedical optics</a>, and <a href="Astrophysics" title="Astrophysics">astrophysics</a>.
</p><p><br>
</p>

<meta property="mw:PageProp/toc">
<div class="mw-heading mw-heading2"><h2 id="Basic_concepts">Basic concepts</h2></div>
<p>The basic idea of the DDA was introduced in 1964 by DeVoe<sup id="cite_ref-devoe1964_1-0" class="reference"><a href="#cite_note-devoe1964-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup> who applied it to study the optical properties of molecular aggregates; retardation effects were not included, so DeVoe's treatment was limited to aggregates that were small compared with the wavelength. The DDA, including retardation effects, was proposed in 1973 by <a href="Edward_Mills_Purcell" title="Edward Mills Purcell">Purcell</a> and Pennypacker<sup id="cite_ref-purcell1973_2-0" class="reference"><a href="#cite_note-purcell1973-2"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup>
who used it to study interstellar dust grains. Simply stated, the DDA is an approximation of the continuum target by a finite array of polarizable points. The points acquire dipole moments in response to the local electric field. The dipoles interact with one another via their electric fields, so the DDA is also sometimes referred to as the coupled dipole approximation.<sup id="cite_ref-singham1986_3-0" class="reference"><a href="#cite_note-singham1986-3"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-singham1987_4-0" class="reference"><a href="#cite_note-singham1987-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup>
</p><p>Nature provides the physical inspiration for the DDA - in 1909 <a href="Hendrik_Lorentz" title="Hendrik Lorentz">Lorentz</a><sup id="cite_ref-lorentz1909_5-0" class="reference"><a href="#cite_note-lorentz1909-5"><span class="cite-bracket">[</span>5<span class="cite-bracket">]</span></a></sup>
showed that the dielectric properties of a substance could be directly related to the polarizabilities of the individual atoms of which it was composed, with a particularly simple and exact relationship, the <a href="Clausius-Mossotti_relation" class="mw-redirect" title="Clausius-Mossotti relation">Clausius-Mossotti relation</a> (or Lorentz-Lorenz), when the atoms are located on a cubical lattice. We may expect that, just as a continuum representation of a solid is appropriate on length scales that are large compared with the interatomic spacing, an array of polarizable points can accurately approximate the response of a continuum target on length scales that are large compared with the interdipole separation.
</p><p>For a finite array of point dipoles the scattering problem may be solved exactly, so the only approximation that is present in the DDA is the replacement of the continuum target by an array of N-point dipoles. The replacement requires specification of both the geometry (location of the dipoles) and the dipole polarizabilities. For monochromatic incident waves the self-consistent solution for the oscillating dipole moments may be found; from these the absorption and scattering cross sections are computed. If DDA solutions are obtained for two independent polarizations of the incident wave, then the complete amplitude scattering matrix can be determined.
Alternatively, the DDA can be derived from <a href="Electric-field_integral_equation" title="Electric-field integral equation">volume integral equation for the electric field</a>.<sup id="cite_ref-Yurkin2007a_6-0" class="reference"><a href="#cite_note-Yurkin2007a-6"><span class="cite-bracket">[</span>6<span class="cite-bracket">]</span></a></sup> This highlights that the approximation of point dipoles is equivalent to that of discretizing the integral equation, and thus decreases with decreasing dipole size.
</p><p>With the recognition that the polarizabilities may be tensors, the DDA can readily be applied to anisotropic materials. The extension of the DDA to treat materials with nonzero <a href="Magnetic_susceptibility" title="Magnetic susceptibility">magnetic susceptibility</a> is also straightforward, although for most applications magnetic effects are negligible.
</p><p>There are several reviews of DDA method. <sup id="cite_ref-draine1994_7-0" class="reference"><a href="#cite_note-draine1994-7"><span class="cite-bracket">[</span>7<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-Yurkin2007a_6-1" class="reference"><a href="#cite_note-Yurkin2007a-6"><span class="cite-bracket">[</span>6<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-Yurkin2023_8-0" class="reference"><a href="#cite_note-Yurkin2023-8"><span class="cite-bracket">[</span>8<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-chaumet2022discrete_9-0" class="reference"><a href="#cite_note-chaumet2022discrete-9"><span class="cite-bracket">[</span>9<span class="cite-bracket">]</span></a></sup>
</p><p>The method was improved by <a href="Bruce_T._Draine" title="Bruce T. Draine">Draine</a>, Flatau, and Goodman, who applied the <a href="Fast_Fourier_transform" title="Fast Fourier transform">fast Fourier transform</a> to solve fast convolution problems arising in the discrete dipole approximation (DDA). This allowed for the calculation of scattering by large targets. They distributed an open-source code DDSCAT.<sup id="cite_ref-draine1994_7-1" class="reference"><a href="#cite_note-draine1994-7"><span class="cite-bracket">[</span>7<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-draine2008_10-0" class="reference"><a href="#cite_note-draine2008-10"><span class="cite-bracket">[</span>10<span class="cite-bracket">]</span></a></sup>
There are now several DDA implementations,<sup id="cite_ref-Yurkin2007a_6-2" class="reference"><a href="#cite_note-Yurkin2007a-6"><span class="cite-bracket">[</span>6<span class="cite-bracket">]</span></a></sup> extensions to periodic targets,<sup id="cite_ref-chaumet2003_11-0" class="reference"><a href="#cite_note-chaumet2003-11"><span class="cite-bracket">[</span>11<span class="cite-bracket">]</span></a></sup> and particles placed on or near a plane substrate.<sup id="cite_ref-schmehl1997_12-0" class="reference"><a href="#cite_note-schmehl1997-12"><span class="cite-bracket">[</span>12<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-yurkin2015_13-0" class="reference"><a href="#cite_note-yurkin2015-13"><span class="cite-bracket">[</span>13<span class="cite-bracket">]</span></a></sup> Comparisons with exact techniques have also been published.<sup id="cite_ref-penttila2007_14-0" class="reference"><a href="#cite_note-penttila2007-14"><span class="cite-bracket">[</span>14<span class="cite-bracket">]</span></a></sup>
Other aspects, such as the validity criteria of the discrete dipole approximation, were published.<sup id="cite_ref-zubko2010_15-0" class="reference"><a href="#cite_note-zubko2010-15"><span class="cite-bracket">[</span>15<span class="cite-bracket">]</span></a></sup> The DDA was also extended to employ rectangular or cuboid dipoles,<sup id="cite_ref-smunev2015_16-0" class="reference"><a href="#cite_note-smunev2015-16"><span class="cite-bracket">[</span>16<span class="cite-bracket">]</span></a></sup> which are more efficient for highly oblate or prolate particles.
</p><p><br>
</p>
<div class="mw-heading mw-heading2"><h2 id="Theory">Theory</h2></div>
<p>In the discrete dipole approximation, a target object is represented as a finite array of <i>N</i> point dipoles located at positions <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbf {r} _{j}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">r</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>j</mi>
</mrow>
</msub>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \mathbf {r} _{j}}</annotation>
</semantics>
</math></span><img src="./609bdd34e1060e0d89cb81aad617e36d6116b2a8.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.005ex; width:2.012ex; height:2.343ex;" alt="{\displaystyle \mathbf {r} _{j}}" loading="lazy"></span> (<span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle j=1,2,\dots ,N}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>j</mi>
<mo>=</mo>
<mn>1</mn>
<mo>,</mo>
<mn>2</mn>
<mo>,</mo>
<mo>…<!-- … --></mo>
<mo>,</mo>
<mi>N</mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle j=1,2,\dots ,N}</annotation>
</semantics>
</math></span><img src="./6176bdcf4d1c207122117d9338a0f33bccebbbb4.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; margin-left: -0.027ex; width:14.684ex; height:2.509ex;" alt="{\displaystyle j=1,2,\dots ,N}" loading="lazy"></span>). The polarization vector <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbf {P} _{j}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">P</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>j</mi>
</mrow>
</msub>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \mathbf {P} _{j}}</annotation>
</semantics>
</math></span><img src="./478d5de6fcd4dd679fe271f13f9331e0d1114f6d.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.005ex; width:2.736ex; height:2.843ex;" alt="{\displaystyle \mathbf {P} _{j}}" loading="lazy"></span> of each dipole is related to the local electric field <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbf {E} _{j}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">E</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>j</mi>
</mrow>
</msub>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \mathbf {E} _{j}}</annotation>
</semantics>
</math></span><img src="./b767571edcdc06dfbfa267959cb490bb937de10f.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.005ex; width:2.667ex; height:2.843ex;" alt="{\displaystyle \mathbf {E} _{j}}" loading="lazy"></span> at that dipole by its polarizability tensor <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle {\boldsymbol {\alpha }}_{j}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold-italic">α<!-- α --></mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>j</mi>
</mrow>
</msub>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle {\boldsymbol {\alpha }}_{j}}</annotation>
</semantics>
</math></span><img src="./9f0838e683a340cd729f1b58ef1c7720784b5ae2.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.005ex; width:2.678ex; height:2.343ex;" alt="{\displaystyle {\boldsymbol {\alpha }}_{j}}" loading="lazy"></span>:
</p><p>In anisotropic case (diagonal polarizability)
</p>
<dl><dd><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbf {P} _{j}={\boldsymbol {\alpha }}_{j}\cdot \mathbf {E} _{j}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">P</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>j</mi>
</mrow>
</msub>
<mo>=</mo>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold-italic">α<!-- α --></mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>j</mi>
</mrow>
</msub>
<mo>⋅<!-- ⋅ --></mo>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">E</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>j</mi>
</mrow>
</msub>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \mathbf {P} _{j}={\boldsymbol {\alpha }}_{j}\cdot \mathbf {E} _{j}}</annotation>
</semantics>
</math></span><img src="./cb0c6e378c3bffff3e358cbfdfbcf43db17e9a73.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.005ex; width:12.859ex; height:2.843ex;" alt="{\displaystyle \mathbf {P} _{j}={\boldsymbol {\alpha }}_{j}\cdot \mathbf {E} _{j}}" loading="lazy"></span></dd></dl>
<p>where <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle {\boldsymbol {\alpha }}_{j}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold-italic">α<!-- α --></mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>j</mi>
</mrow>
</msub>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle {\boldsymbol {\alpha }}_{j}}</annotation>
</semantics>
</math></span><img src="./9f0838e683a340cd729f1b58ef1c7720784b5ae2.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.005ex; width:2.678ex; height:2.343ex;" alt="{\displaystyle {\boldsymbol {\alpha }}_{j}}" loading="lazy"></span> is diagonal
</p>
<dl><dd><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle {\boldsymbol {\alpha }}_{j}={\begin{pmatrix}\alpha _{x,j}&amp;0&amp;0\\0&amp;\alpha _{y,j}&amp;0\\0&amp;0&amp;\alpha _{z,j}\end{pmatrix}}.}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold-italic">α<!-- α --></mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>j</mi>
</mrow>
</msub>
<mo>=</mo>
<mrow class="MJX-TeXAtom-ORD">
<mrow>
<mo>(</mo>
<mtable rowspacing="4pt" columnspacing="1em">
<mtr>
<mtd>
<msub>
<mi>α<!-- α --></mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>x</mi>
<mo>,</mo>
<mi>j</mi>
</mrow>
</msub>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
</mtr>
<mtr>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<msub>
<mi>α<!-- α --></mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>y</mi>
<mo>,</mo>
<mi>j</mi>
</mrow>
</msub>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
</mtr>
<mtr>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<msub>
<mi>α<!-- α --></mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>z</mi>
<mo>,</mo>
<mi>j</mi>
</mrow>
</msub>
</mtd>
</mtr>
</mtable>
<mo>)</mo>
</mrow>
</mrow>
<mo>.</mo>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle {\boldsymbol {\alpha }}_{j}={\begin{pmatrix}\alpha _{x,j}&amp;0&amp;0\\0&amp;\alpha _{y,j}&amp;0\\0&amp;0&amp;\alpha _{z,j}\end{pmatrix}}.}</annotation>
</semantics>
</math></span><img src="./56dc45c041ebcde99d04a60688eb0a00bbcabc0d.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -4.338ex; width:26.978ex; height:9.843ex;" alt="{\displaystyle {\boldsymbol {\alpha }}_{j}={\begin{pmatrix}\alpha _{x,j}&amp;0&amp;0\\0&amp;\alpha _{y,j}&amp;0\\0&amp;0&amp;\alpha _{z,j}\end{pmatrix}}.}" loading="lazy"></span></dd></dl>
<p>This leads to componentwise relations:
</p>
<dl><dd><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle {\begin{aligned}P_{x,j}&amp;=\alpha _{x,j}E_{x,j},\\P_{y,j}&amp;=\alpha _{y,j}E_{y,j},\\P_{z,j}&amp;=\alpha _{z,j}E_{z,j}.\end{aligned}}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mrow class="MJX-TeXAtom-ORD">
<mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true">
<mtr>
<mtd>
<msub>
<mi>P</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>x</mi>
<mo>,</mo>
<mi>j</mi>
</mrow>
</msub>
</mtd>
<mtd>
<mi></mi>
<mo>=</mo>
<msub>
<mi>α<!-- α --></mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>x</mi>
<mo>,</mo>
<mi>j</mi>
</mrow>
</msub>
<msub>
<mi>E</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>x</mi>
<mo>,</mo>
<mi>j</mi>
</mrow>
</msub>
<mo>,</mo>
</mtd>
</mtr>
<mtr>
<mtd>
<msub>
<mi>P</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>y</mi>
<mo>,</mo>
<mi>j</mi>
</mrow>
</msub>
</mtd>
<mtd>
<mi></mi>
<mo>=</mo>
<msub>
<mi>α<!-- α --></mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>y</mi>
<mo>,</mo>
<mi>j</mi>
</mrow>
</msub>
<msub>
<mi>E</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>y</mi>
<mo>,</mo>
<mi>j</mi>
</mrow>
</msub>
<mo>,</mo>
</mtd>
</mtr>
<mtr>
<mtd>
<msub>
<mi>P</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>z</mi>
<mo>,</mo>
<mi>j</mi>
</mrow>
</msub>
</mtd>
<mtd>
<mi></mi>
<mo>=</mo>
<msub>
<mi>α<!-- α --></mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>z</mi>
<mo>,</mo>
<mi>j</mi>
</mrow>
</msub>
<msub>
<mi>E</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>z</mi>
<mo>,</mo>
<mi>j</mi>
</mrow>
</msub>
<mo>.</mo>
</mtd>
</mtr>
</mtable>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle {\begin{aligned}P_{x,j}&amp;=\alpha _{x,j}E_{x,j},\\P_{y,j}&amp;=\alpha _{y,j}E_{y,j},\\P_{z,j}&amp;=\alpha _{z,j}E_{z,j}.\end{aligned}}}</annotation>
</semantics>
</math></span><img src="./bce3dc52eac82debeaf5fa56699e8999b2a75ede.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -4.171ex; width:16.114ex; height:9.509ex;" alt="{\displaystyle {\begin{aligned}P_{x,j}&amp;=\alpha _{x,j}E_{x,j},\\P_{y,j}&amp;=\alpha _{y,j}E_{y,j},\\P_{z,j}&amp;=\alpha _{z,j}E_{z,j}.\end{aligned}}}" loading="lazy"></span></dd></dl>
<p>For isotropic materials, <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \alpha _{x,j}=\alpha _{y,j}=\alpha _{z,j}=\alpha _{j}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mi>α<!-- α --></mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>x</mi>
<mo>,</mo>
<mi>j</mi>
</mrow>
</msub>
<mo>=</mo>
<msub>
<mi>α<!-- α --></mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>y</mi>
<mo>,</mo>
<mi>j</mi>
</mrow>
</msub>
<mo>=</mo>
<msub>
<mi>α<!-- α --></mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>z</mi>
<mo>,</mo>
<mi>j</mi>
</mrow>
</msub>
<mo>=</mo>
<msub>
<mi>α<!-- α --></mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>j</mi>
</mrow>
</msub>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \alpha _{x,j}=\alpha _{y,j}=\alpha _{z,j}=\alpha _{j}}</annotation>
</semantics>
</math></span><img src="./6a4a4b6eaf627bb1ae337357470804e8e990bdf9.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.005ex; width:22.784ex; height:2.343ex;" alt="{\displaystyle \alpha _{x,j}=\alpha _{y,j}=\alpha _{z,j}=\alpha _{j}}" loading="lazy"></span>, so
</p>
<dl><dd><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbf {P} _{j}=\alpha _{j}\mathbf {E} _{j}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">P</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>j</mi>
</mrow>
</msub>
<mo>=</mo>
<msub>
<mi>α<!-- α --></mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>j</mi>
</mrow>
</msub>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">E</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>j</mi>
</mrow>
</msub>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \mathbf {P} _{j}=\alpha _{j}\mathbf {E} _{j}}</annotation>
</semantics>
</math></span><img src="./634ebbe0032501191267502df4d260c860337fa9.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.005ex; width:10.899ex; height:2.843ex;" alt="{\displaystyle \mathbf {P} _{j}=\alpha _{j}\mathbf {E} _{j}}" loading="lazy"></span>.</dd></dl>
<p>The local electric field <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbf {E} _{j}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">E</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>j</mi>
</mrow>
</msub>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \mathbf {E} _{j}}</annotation>
</semantics>
</math></span><img src="./b767571edcdc06dfbfa267959cb490bb937de10f.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.005ex; width:2.667ex; height:2.843ex;" alt="{\displaystyle \mathbf {E} _{j}}" loading="lazy"></span> acting on the <i>j</i>‑th dipole is given by the sum of the incident field <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbf {E} _{\mathrm {inc} }(\mathbf {r} _{j})}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">E</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="normal">i</mi>
<mi mathvariant="normal">n</mi>
<mi mathvariant="normal">c</mi>
</mrow>
</mrow>
</msub>
<mo stretchy="false">(</mo>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">r</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>j</mi>
</mrow>
</msub>
<mo stretchy="false">)</mo>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \mathbf {E} _{\mathrm {inc} }(\mathbf {r} _{j})}</annotation>
</semantics>
</math></span><img src="./8efea9b2ececcb1d39ea518c8562ae1b20cb948d.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.005ex; width:7.912ex; height:3.009ex;" alt="{\displaystyle \mathbf {E} _{\mathrm {inc} }(\mathbf {r} _{j})}" loading="lazy"></span> and the fields radiated by all other dipoles:
</p>
<dl><dd><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbf {E} _{j}=\mathbf {E} _{\mathrm {inc} }(\mathbf {r} _{j})+\sum _{k\neq j}\mathbf {G} (\mathbf {r} _{j}-\mathbf {r} _{k})\cdot \mathbf {P} _{k}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">E</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>j</mi>
</mrow>
</msub>
<mo>=</mo>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">E</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="normal">i</mi>
<mi mathvariant="normal">n</mi>
<mi mathvariant="normal">c</mi>
</mrow>
</mrow>
</msub>
<mo stretchy="false">(</mo>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">r</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>j</mi>
</mrow>
</msub>
<mo stretchy="false">)</mo>
<mo>+</mo>
<munder>
<mo>∑<!-- ∑ --></mo>
<mrow class="MJX-TeXAtom-ORD">
<mi>k</mi>
<mo>≠<!-- ≠ --></mo>
<mi>j</mi>
</mrow>
</munder>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">G</mi>
</mrow>
<mo stretchy="false">(</mo>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">r</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>j</mi>
</mrow>
</msub>
<mo>−<!-- − --></mo>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">r</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>k</mi>
</mrow>
</msub>
<mo stretchy="false">)</mo>
<mo>⋅<!-- ⋅ --></mo>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">P</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>k</mi>
</mrow>
</msub>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \mathbf {E} _{j}=\mathbf {E} _{\mathrm {inc} }(\mathbf {r} _{j})+\sum _{k\neq j}\mathbf {G} (\mathbf {r} _{j}-\mathbf {r} _{k})\cdot \mathbf {P} _{k}}</annotation>
</semantics>
</math></span><img src="./f73ee5ebd0e04b66ce4a8188b06a798c60f988e3.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -3.505ex; width:35.807ex; height:6.009ex;" alt="{\displaystyle \mathbf {E} _{j}=\mathbf {E} _{\mathrm {inc} }(\mathbf {r} _{j})+\sum _{k\neq j}\mathbf {G} (\mathbf {r} _{j}-\mathbf {r} _{k})\cdot \mathbf {P} _{k}}" loading="lazy"></span></dd></dl>
<p>Here, <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbf {G} (\mathbf {r} )}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">G</mi>
</mrow>
<mo stretchy="false">(</mo>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">r</mi>
</mrow>
<mo stretchy="false">)</mo>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \mathbf {G} (\mathbf {r} )}</annotation>
</semantics>
</math></span><img src="./be2fb63903f0a53e8a1a9c6eb8236b4f298e2f05.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:5.012ex; height:2.843ex;" alt="{\displaystyle \mathbf {G} (\mathbf {r} )}" loading="lazy"></span> is the dyadic Green's function describing the field at position <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbf {r} }">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">r</mi>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \mathbf {r} }</annotation>
</semantics>
</math></span><img src="./eca0f46511c4c986c48b254073732c0bd98ae0c1.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.102ex; height:1.676ex;" alt="{\displaystyle \mathbf {r} }" loading="lazy"></span> due to a unit dipole at the origin.
</p>
<div class="mw-heading mw-heading3"><h3 id="Dyadic_Green’s_function">Dyadic Green’s function</h3></div>
<p>The free-space dyadic Green's function used in the discrete dipole approximation (DDA) can be expressed as the action of a differential operator on the scalar Green's function:
</p>
<dl><dd><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbf {G} (\mathbf {r} )=\left[\nabla \nabla +k^{2}\mathbf {I} \right]{\frac {e^{ikr}}{r}},}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">G</mi>
</mrow>
<mo stretchy="false">(</mo>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">r</mi>
</mrow>
<mo stretchy="false">)</mo>
<mo>=</mo>
<mrow>
<mo>[</mo>
<mrow>
<mi mathvariant="normal">∇<!-- ∇ --></mi>
<mi mathvariant="normal">∇<!-- ∇ --></mi>
<mo>+</mo>
<msup>
<mi>k</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>2</mn>
</mrow>
</msup>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">I</mi>
</mrow>
</mrow>
<mo>]</mo>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mfrac>
<msup>
<mi>e</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>i</mi>
<mi>k</mi>
<mi>r</mi>
</mrow>
</msup>
<mi>r</mi>
</mfrac>
</mrow>
<mo>,</mo>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \mathbf {G} (\mathbf {r} )=\left[\nabla \nabla +k^{2}\mathbf {I} \right]{\frac {e^{ikr}}{r}},}</annotation>
</semantics>
</math></span><img src="./892f434a36bc97fd19e8613e20efbac0e11dea51.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.838ex; width:25.393ex; height:5.676ex;" alt="{\displaystyle \mathbf {G} (\mathbf {r} )=\left[\nabla \nabla +k^{2}\mathbf {I} \right]{\frac {e^{ikr}}{r}},}" loading="lazy"></span></dd></dl>
<p>where <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle k}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>k</mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle k}</annotation>
</semantics>
</math></span><img src="./c3c9a2c7b599b37105512c5d570edc034056dd40.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.211ex; height:2.176ex;" alt="{\displaystyle k}" loading="lazy"></span> is the wavenumber, <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbf {I} }">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">I</mi>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \mathbf {I} }</annotation>
</semantics>
</math></span><img src="./8a458c8aeb096ce732abf346ae8edf3e4f53a126.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.014ex; height:2.176ex;" alt="{\displaystyle \mathbf {I} }" loading="lazy"></span> is the identity matrix, and <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbf {r} }">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">r</mi>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \mathbf {r} }</annotation>
</semantics>
</math></span><img src="./eca0f46511c4c986c48b254073732c0bd98ae0c1.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.102ex; height:1.676ex;" alt="{\displaystyle \mathbf {r} }" loading="lazy"></span> is the vector from the source dipole to the observation point. Evaluating the derivatives leads to the explicit form:
</p>
<dl><dd><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbf {G} (\mathbf {r} )={\frac {e^{ikr}}{r^{3}}}\left[k^{2}r^{2}\left(\mathbf {I} -{\hat {\mathbf {r} }}{\hat {\mathbf {r} }}\right)+(1-ikr)\left(3{\hat {\mathbf {r} }}{\hat {\mathbf {r} }}-\mathbf {I} \right)\right],}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">G</mi>
</mrow>
<mo stretchy="false">(</mo>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">r</mi>
</mrow>
<mo stretchy="false">)</mo>
<mo>=</mo>
<mrow class="MJX-TeXAtom-ORD">
<mfrac>
<msup>
<mi>e</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>i</mi>
<mi>k</mi>
<mi>r</mi>
</mrow>
</msup>
<msup>
<mi>r</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>3</mn>
</mrow>
</msup>
</mfrac>
</mrow>
<mrow>
<mo>[</mo>
<mrow>
<msup>
<mi>k</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>2</mn>
</mrow>
</msup>
<msup>
<mi>r</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>2</mn>
</mrow>
</msup>
<mrow>
<mo>(</mo>
<mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">I</mi>
</mrow>
<mo>−<!-- − --></mo>
<mrow class="MJX-TeXAtom-ORD">
<mrow class="MJX-TeXAtom-ORD">
<mover>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">r</mi>
</mrow>
<mo stretchy="false">^<!-- ^ --></mo>
</mover>
</mrow>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mrow class="MJX-TeXAtom-ORD">
<mover>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">r</mi>
</mrow>
<mo stretchy="false">^<!-- ^ --></mo>
</mover>
</mrow>
</mrow>
</mrow>
<mo>)</mo>
</mrow>
<mo>+</mo>
<mo stretchy="false">(</mo>
<mn>1</mn>
<mo>−<!-- − --></mo>
<mi>i</mi>
<mi>k</mi>
<mi>r</mi>
<mo stretchy="false">)</mo>
<mrow>
<mo>(</mo>
<mrow>
<mn>3</mn>
<mrow class="MJX-TeXAtom-ORD">
<mrow class="MJX-TeXAtom-ORD">
<mover>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">r</mi>
</mrow>
<mo stretchy="false">^<!-- ^ --></mo>
</mover>
</mrow>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mrow class="MJX-TeXAtom-ORD">
<mover>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">r</mi>
</mrow>
<mo stretchy="false">^<!-- ^ --></mo>
</mover>
</mrow>
</mrow>
<mo>−<!-- − --></mo>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">I</mi>
</mrow>
</mrow>
<mo>)</mo>
</mrow>
</mrow>
<mo>]</mo>
</mrow>
<mo>,</mo>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \mathbf {G} (\mathbf {r} )={\frac {e^{ikr}}{r^{3}}}\left[k^{2}r^{2}\left(\mathbf {I} -{\hat {\mathbf {r} }}{\hat {\mathbf {r} }}\right)+(1-ikr)\left(3{\hat {\mathbf {r} }}{\hat {\mathbf {r} }}-\mathbf {I} \right)\right],}</annotation>
</semantics>
</math></span><img src="./4bc361189304a9f1da8351daed81062446c38420.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -2.171ex; width:49.785ex; height:6.009ex;" alt="{\displaystyle \mathbf {G} (\mathbf {r} )={\frac {e^{ikr}}{r^{3}}}\left[k^{2}r^{2}\left(\mathbf {I} -{\hat {\mathbf {r} }}{\hat {\mathbf {r} }}\right)+(1-ikr)\left(3{\hat {\mathbf {r} }}{\hat {\mathbf {r} }}-\mathbf {I} \right)\right],}" loading="lazy"></span></dd></dl>
<p>where <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle {\hat {\mathbf {r} }}=\mathbf {r} /|\mathbf {r} |}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mrow class="MJX-TeXAtom-ORD">
<mrow class="MJX-TeXAtom-ORD">
<mover>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">r</mi>
</mrow>
<mo stretchy="false">^<!-- ^ --></mo>
</mover>
</mrow>
</mrow>
<mo>=</mo>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">r</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mo>/</mo>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mo stretchy="false">|</mo>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">r</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mo stretchy="false">|</mo>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle {\hat {\mathbf {r} }}=\mathbf {r} /|\mathbf {r} |}</annotation>
</semantics>
</math></span><img src="./930a88b12bae14cb42f2c390fcac932f8d346169.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:8.921ex; height:2.843ex;" alt="{\displaystyle {\hat {\mathbf {r} }}=\mathbf {r} /|\mathbf {r} |}" loading="lazy"></span> is the unit vector pointing from the source to the observation point.
</p><p>This Green’s tensor describes the electric field generated by a dipole in a homogeneous medium. It is used to compute the off-diagonal blocks of the interaction matrix in DDA, that is, the interaction between distinct dipoles <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle j\neq k}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>j</mi>
<mo>≠<!-- ≠ --></mo>
<mi>k</mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle j\neq k}</annotation>
</semantics>
</math></span><img src="./a08a8f7e7c65621ea80f6989770e39aa591d0886.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; margin-left: -0.027ex; width:5.294ex; height:2.676ex;" alt="{\displaystyle j\neq k}" loading="lazy"></span>. The singular self-term <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbf {G} (\mathbf {r} =0)}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">G</mi>
</mrow>
<mo stretchy="false">(</mo>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">r</mi>
</mrow>
<mo>=</mo>
<mn>0</mn>
<mo stretchy="false">)</mo>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \mathbf {G} (\mathbf {r} =0)}</annotation>
</semantics>
</math></span><img src="./8efde63dbd34b60d103d0676650ad6e713ff92d4.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:9.273ex; height:2.843ex;" alt="{\displaystyle \mathbf {G} (\mathbf {r} =0)}" loading="lazy"></span> is excluded and replaced by a prescribed local term involving the inverse polarizability tensor <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle {\boldsymbol {\alpha }}_{j}^{-1}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msubsup>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold-italic">α<!-- α --></mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>j</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mo>−<!-- − --></mo>
<mn>1</mn>
</mrow>
</msubsup>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle {\boldsymbol {\alpha }}_{j}^{-1}}</annotation>
</semantics>
</math></span><img src="./52958a218077006a14d08a9dff1ebc09b678679b.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.338ex; width:4.101ex; height:3.676ex;" alt="{\displaystyle {\boldsymbol {\alpha }}_{j}^{-1}}" loading="lazy"></span>.
</p><p>Thus, the electric field at dipole <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle j}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>j</mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle j}</annotation>
</semantics>
</math></span><img src="./2f461e54f5c093e92a55547b9764291390f0b5d0.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; margin-left: -0.027ex; width:0.985ex; height:2.509ex;" alt="{\displaystyle j}" loading="lazy"></span> due to dipole <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle k}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>k</mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle k}</annotation>
</semantics>
</math></span><img src="./c3c9a2c7b599b37105512c5d570edc034056dd40.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.211ex; height:2.176ex;" alt="{\displaystyle k}" loading="lazy"></span> is given by
</p>
<dl><dd><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbf {G} _{jk}={\frac {e^{ikr_{jk}}}{r_{jk}^{3}}}\left[k^{2}r_{jk}^{2}\left(\mathbf {I} -{\hat {\mathbf {r} }}_{jk}{\hat {\mathbf {r} }}_{jk}\right)+\left(1-ikr_{jk}\right)\left(3{\hat {\mathbf {r} }}_{jk}{\hat {\mathbf {r} }}_{jk}-\mathbf {I} \right)\right],}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">G</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>j</mi>
<mi>k</mi>
</mrow>
</msub>
<mo>=</mo>
<mrow class="MJX-TeXAtom-ORD">
<mfrac>
<msup>
<mi>e</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>i</mi>
<mi>k</mi>
<msub>
<mi>r</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>j</mi>
<mi>k</mi>
</mrow>
</msub>
</mrow>
</msup>
<msubsup>
<mi>r</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>j</mi>
<mi>k</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mn>3</mn>
</mrow>
</msubsup>
</mfrac>
</mrow>
<mrow>
<mo>[</mo>
<mrow>
<msup>
<mi>k</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>2</mn>
</mrow>
</msup>
<msubsup>
<mi>r</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>j</mi>
<mi>k</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mn>2</mn>
</mrow>
</msubsup>
<mrow>
<mo>(</mo>
<mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">I</mi>
</mrow>
<mo>−<!-- − --></mo>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mrow class="MJX-TeXAtom-ORD">
<mover>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">r</mi>
</mrow>
<mo stretchy="false">^<!-- ^ --></mo>
</mover>
</mrow>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>j</mi>
<mi>k</mi>
</mrow>
</msub>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mrow class="MJX-TeXAtom-ORD">
<mover>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">r</mi>
</mrow>
<mo stretchy="false">^<!-- ^ --></mo>
</mover>
</mrow>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>j</mi>
<mi>k</mi>
</mrow>
</msub>
</mrow>
<mo>)</mo>
</mrow>
<mo>+</mo>
<mrow>
<mo>(</mo>
<mrow>
<mn>1</mn>
<mo>−<!-- − --></mo>
<mi>i</mi>
<mi>k</mi>
<msub>
<mi>r</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>j</mi>
<mi>k</mi>
</mrow>
</msub>
</mrow>
<mo>)</mo>
</mrow>
<mrow>
<mo>(</mo>
<mrow>
<mn>3</mn>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mrow class="MJX-TeXAtom-ORD">
<mover>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">r</mi>
</mrow>
<mo stretchy="false">^<!-- ^ --></mo>
</mover>
</mrow>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>j</mi>
<mi>k</mi>
</mrow>
</msub>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mrow class="MJX-TeXAtom-ORD">
<mover>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">r</mi>
</mrow>
<mo stretchy="false">^<!-- ^ --></mo>
</mover>
</mrow>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>j</mi>
<mi>k</mi>
</mrow>
</msub>
<mo>−<!-- − --></mo>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">I</mi>
</mrow>
</mrow>
<mo>)</mo>
</mrow>
</mrow>
<mo>]</mo>
</mrow>
<mo>,</mo>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \mathbf {G} _{jk}={\frac {e^{ikr_{jk}}}{r_{jk}^{3}}}\left[k^{2}r_{jk}^{2}\left(\mathbf {I} -{\hat {\mathbf {r} }}_{jk}{\hat {\mathbf {r} }}_{jk}\right)+\left(1-ikr_{jk}\right)\left(3{\hat {\mathbf {r} }}_{jk}{\hat {\mathbf {r} }}_{jk}-\mathbf {I} \right)\right],}</annotation>
</semantics>
</math></span><img src="./b9223aa8c1c7da397653e2726610212f751c86b8.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -3.338ex; width:59.848ex; height:7.176ex;" alt="{\displaystyle \mathbf {G} _{jk}={\frac {e^{ikr_{jk}}}{r_{jk}^{3}}}\left[k^{2}r_{jk}^{2}\left(\mathbf {I} -{\hat {\mathbf {r} }}_{jk}{\hat {\mathbf {r} }}_{jk}\right)+\left(1-ikr_{jk}\right)\left(3{\hat {\mathbf {r} }}_{jk}{\hat {\mathbf {r} }}_{jk}-\mathbf {I} \right)\right],}" loading="lazy"></span></dd></dl>
<p><br>
</p><p>where <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbf {r} _{jk}=\mathbf {r} _{j}-\mathbf {r} _{k}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">r</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>j</mi>
<mi>k</mi>
</mrow>
</msub>
<mo>=</mo>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">r</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>j</mi>
</mrow>
</msub>
<mo>−<!-- − --></mo>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">r</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>k</mi>
</mrow>
</msub>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \mathbf {r} _{jk}=\mathbf {r} _{j}-\mathbf {r} _{k}}</annotation>
</semantics>
</math></span><img src="./61ea938271d3fedf74c17a3bb55d459449eba158.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.005ex; width:13.01ex; height:2.676ex;" alt="{\displaystyle \mathbf {r} _{jk}=\mathbf {r} _{j}-\mathbf {r} _{k}}" loading="lazy"></span>, <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle r_{jk}=|\mathbf {r} _{jk}|}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mi>r</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>j</mi>
<mi>k</mi>
</mrow>
</msub>
<mo>=</mo>
<mrow class="MJX-TeXAtom-ORD">
<mo stretchy="false">|</mo>
</mrow>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">r</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>j</mi>
<mi>k</mi>
</mrow>
</msub>
<mrow class="MJX-TeXAtom-ORD">
<mo stretchy="false">|</mo>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle r_{jk}=|\mathbf {r} _{jk}|}</annotation>
</semantics>
</math></span><img src="./19e039701167f6ee5ea30ad385014ffe004284f5.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.005ex; width:10.075ex; height:3.009ex;" alt="{\displaystyle r_{jk}=|\mathbf {r} _{jk}|}" loading="lazy"></span>, and <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle {\hat {\mathbf {r} }}_{jk}=\mathbf {r} _{jk}/r_{jk}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mrow class="MJX-TeXAtom-ORD">
<mover>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">r</mi>
</mrow>
<mo stretchy="false">^<!-- ^ --></mo>
</mover>
</mrow>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>j</mi>
<mi>k</mi>
</mrow>
</msub>
<mo>=</mo>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">r</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>j</mi>
<mi>k</mi>
</mrow>
</msub>
<mrow class="MJX-TeXAtom-ORD">
<mo>/</mo>
</mrow>
<msub>
<mi>r</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>j</mi>
<mi>k</mi>
</mrow>
</msub>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle {\hat {\mathbf {r} }}_{jk}=\mathbf {r} _{jk}/r_{jk}}</annotation>
</semantics>
</math></span><img src="./9aa7b83c528cad4e264af66dce977d22b9067ebf.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.005ex; width:12.873ex; height:3.009ex;" alt="{\displaystyle {\hat {\mathbf {r} }}_{jk}=\mathbf {r} _{jk}/r_{jk}}" loading="lazy"></span>. Here <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbf {I} }">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">I</mi>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \mathbf {I} }</annotation>
</semantics>
</math></span><img src="./8a458c8aeb096ce732abf346ae8edf3e4f53a126.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.014ex; height:2.176ex;" alt="{\displaystyle \mathbf {I} }" loading="lazy"></span> is the identity matrix and <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle k=2\pi /\lambda }">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>k</mi>
<mo>=</mo>
<mn>2</mn>
<mi>π<!-- π --></mi>
<mrow class="MJX-TeXAtom-ORD">
<mo>/</mo>
</mrow>
<mi>λ<!-- λ --></mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle k=2\pi /\lambda }</annotation>
</semantics>
</math></span><img src="./eecfda2366cb3a64ef6d4747e2460284155a1960.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:9.322ex; height:2.843ex;" alt="{\displaystyle k=2\pi /\lambda }" loading="lazy"></span> is the vacuum wavenumber.
</p><p>Define
</p>
<dl><dd><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle C_{1}(r_{jk})={\frac {e^{ikr_{jk}}}{r_{jk}^{3}}}\left(k^{2}r_{jk}^{2}+ikr_{jk}-1\right),}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mi>C</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>1</mn>
</mrow>
</msub>
<mo stretchy="false">(</mo>
<msub>
<mi>r</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>j</mi>
<mi>k</mi>
</mrow>
</msub>
<mo stretchy="false">)</mo>
<mo>=</mo>
<mrow class="MJX-TeXAtom-ORD">
<mfrac>
<msup>
<mi>e</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>i</mi>
<mi>k</mi>
<msub>
<mi>r</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>j</mi>
<mi>k</mi>
</mrow>
</msub>
</mrow>
</msup>
<msubsup>
<mi>r</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>j</mi>
<mi>k</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mn>3</mn>
</mrow>
</msubsup>
</mfrac>
</mrow>
<mrow>
<mo>(</mo>
<mrow>
<msup>
<mi>k</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>2</mn>
</mrow>
</msup>
<msubsup>
<mi>r</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>j</mi>
<mi>k</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mn>2</mn>
</mrow>
</msubsup>
<mo>+</mo>
<mi>i</mi>
<mi>k</mi>
<msub>
<mi>r</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>j</mi>
<mi>k</mi>
</mrow>
</msub>
<mo>−<!-- − --></mo>
<mn>1</mn>
</mrow>
<mo>)</mo>
</mrow>
<mo>,</mo>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle C_{1}(r_{jk})={\frac {e^{ikr_{jk}}}{r_{jk}^{3}}}\left(k^{2}r_{jk}^{2}+ikr_{jk}-1\right),}</annotation>
</semantics>
</math></span><img src="./a4c26598c1efeb93e2774b89146df1392abdad0b.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -3.338ex; width:37.114ex; height:7.176ex;" alt="{\displaystyle C_{1}(r_{jk})={\frac {e^{ikr_{jk}}}{r_{jk}^{3}}}\left(k^{2}r_{jk}^{2}+ikr_{jk}-1\right),}" loading="lazy"></span></dd>
<dd><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle C_{2}(r_{jk})={\frac {e^{ikr_{jk}}}{r_{jk}^{3}}}\left(3-3ikr_{jk}-k^{2}r_{jk}^{2}\right).}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mi>C</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>2</mn>
</mrow>
</msub>
<mo stretchy="false">(</mo>
<msub>
<mi>r</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>j</mi>
<mi>k</mi>
</mrow>
</msub>
<mo stretchy="false">)</mo>
<mo>=</mo>
<mrow class="MJX-TeXAtom-ORD">
<mfrac>
<msup>
<mi>e</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>i</mi>
<mi>k</mi>
<msub>
<mi>r</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>j</mi>
<mi>k</mi>
</mrow>
</msub>
</mrow>
</msup>
<msubsup>
<mi>r</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>j</mi>
<mi>k</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mn>3</mn>
</mrow>
</msubsup>
</mfrac>
</mrow>
<mrow>
<mo>(</mo>
<mrow>
<mn>3</mn>
<mo>−<!-- − --></mo>
<mn>3</mn>
<mi>i</mi>
<mi>k</mi>
<msub>
<mi>r</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>j</mi>
<mi>k</mi>
</mrow>
</msub>
<mo>−<!-- − --></mo>
<msup>
<mi>k</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>2</mn>
</mrow>
</msup>
<msubsup>
<mi>r</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>j</mi>
<mi>k</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mn>2</mn>
</mrow>
</msubsup>
</mrow>
<mo>)</mo>
</mrow>
<mo>.</mo>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle C_{2}(r_{jk})={\frac {e^{ikr_{jk}}}{r_{jk}^{3}}}\left(3-3ikr_{jk}-k^{2}r_{jk}^{2}\right).}</annotation>
</semantics>
</math></span><img src="./57af636a2220b31eff967f2ea254435fcfe9a7e1.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -3.338ex; width:38.277ex; height:7.176ex;" alt="{\displaystyle C_{2}(r_{jk})={\frac {e^{ikr_{jk}}}{r_{jk}^{3}}}\left(3-3ikr_{jk}-k^{2}r_{jk}^{2}\right).}" loading="lazy"></span></dd></dl>
<p>The dyadic Green’s function <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbf {G} _{jk}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">G</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>j</mi>
<mi>k</mi>
</mrow>
</msub>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \mathbf {G} _{jk}}</annotation>
</semantics>
</math></span><img src="./41b6b8f17d51c88f1651739eb81fba4a39f2b3bf.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.005ex; width:3.867ex; height:2.843ex;" alt="{\displaystyle \mathbf {G} _{jk}}" loading="lazy"></span> is:
</p>
<dl><dd><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbf {G} _{jk}={\begin{pmatrix}C_{1}+C_{2}{\hat {r}}_{jk,x}^{2}&amp;C_{2}{\hat {r}}_{jk,x}{\hat {r}}_{jk,y}&amp;C_{2}{\hat {r}}_{jk,x}{\hat {r}}_{jk,z}\\C_{2}{\hat {r}}_{jk,y}{\hat {r}}_{jk,x}&amp;C_{1}+C_{2}{\hat {r}}_{jk,y}^{2}&amp;C_{2}{\hat {r}}_{jk,y}{\hat {r}}_{jk,z}\\C_{2}{\hat {r}}_{jk,z}{\hat {r}}_{jk,x}&amp;C_{2}{\hat {r}}_{jk,z}{\hat {r}}_{jk,y}&amp;C_{1}+C_{2}{\hat {r}}_{jk,z}^{2}\end{pmatrix}},}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">G</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>j</mi>
<mi>k</mi>
</mrow>
</msub>
<mo>=</mo>
<mrow class="MJX-TeXAtom-ORD">
<mrow>
<mo>(</mo>
<mtable rowspacing="4pt" columnspacing="1em">
<mtr>
<mtd>
<msub>
<mi>C</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>1</mn>
</mrow>
</msub>
<mo>+</mo>
<msub>
<mi>C</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>2</mn>
</mrow>
</msub>
<msubsup>
<mrow class="MJX-TeXAtom-ORD">
<mrow class="MJX-TeXAtom-ORD">
<mover>
<mi>r</mi>
<mo stretchy="false">^<!-- ^ --></mo>
</mover>
</mrow>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>j</mi>
<mi>k</mi>
<mo>,</mo>
<mi>x</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mn>2</mn>
</mrow>
</msubsup>
</mtd>
<mtd>
<msub>
<mi>C</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>2</mn>
</mrow>
</msub>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mrow class="MJX-TeXAtom-ORD">
<mover>
<mi>r</mi>
<mo stretchy="false">^<!-- ^ --></mo>
</mover>
</mrow>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>j</mi>
<mi>k</mi>
<mo>,</mo>
<mi>x</mi>
</mrow>
</msub>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mrow class="MJX-TeXAtom-ORD">
<mover>
<mi>r</mi>
<mo stretchy="false">^<!-- ^ --></mo>
</mover>
</mrow>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>j</mi>
<mi>k</mi>
<mo>,</mo>
<mi>y</mi>
</mrow>
</msub>
</mtd>
<mtd>
<msub>
<mi>C</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>2</mn>
</mrow>
</msub>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mrow class="MJX-TeXAtom-ORD">
<mover>
<mi>r</mi>
<mo stretchy="false">^<!-- ^ --></mo>
</mover>
</mrow>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>j</mi>
<mi>k</mi>
<mo>,</mo>
<mi>x</mi>
</mrow>
</msub>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mrow class="MJX-TeXAtom-ORD">
<mover>
<mi>r</mi>
<mo stretchy="false">^<!-- ^ --></mo>
</mover>
</mrow>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>j</mi>
<mi>k</mi>
<mo>,</mo>
<mi>z</mi>
</mrow>
</msub>
</mtd>
</mtr>
<mtr>
<mtd>
<msub>
<mi>C</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>2</mn>
</mrow>
</msub>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mrow class="MJX-TeXAtom-ORD">
<mover>
<mi>r</mi>
<mo stretchy="false">^<!-- ^ --></mo>
</mover>
</mrow>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>j</mi>
<mi>k</mi>
<mo>,</mo>
<mi>y</mi>
</mrow>
</msub>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mrow class="MJX-TeXAtom-ORD">
<mover>
<mi>r</mi>
<mo stretchy="false">^<!-- ^ --></mo>
</mover>
</mrow>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>j</mi>
<mi>k</mi>
<mo>,</mo>
<mi>x</mi>
</mrow>
</msub>
</mtd>
<mtd>
<msub>
<mi>C</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>1</mn>
</mrow>
</msub>
<mo>+</mo>
<msub>
<mi>C</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>2</mn>
</mrow>
</msub>
<msubsup>
<mrow class="MJX-TeXAtom-ORD">
<mrow class="MJX-TeXAtom-ORD">
<mover>
<mi>r</mi>
<mo stretchy="false">^<!-- ^ --></mo>
</mover>
</mrow>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>j</mi>
<mi>k</mi>
<mo>,</mo>
<mi>y</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mn>2</mn>
</mrow>
</msubsup>
</mtd>
<mtd>
<msub>
<mi>C</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>2</mn>
</mrow>
</msub>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mrow class="MJX-TeXAtom-ORD">
<mover>
<mi>r</mi>
<mo stretchy="false">^<!-- ^ --></mo>
</mover>
</mrow>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>j</mi>
<mi>k</mi>
<mo>,</mo>
<mi>y</mi>
</mrow>
</msub>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mrow class="MJX-TeXAtom-ORD">
<mover>
<mi>r</mi>
<mo stretchy="false">^<!-- ^ --></mo>
</mover>
</mrow>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>j</mi>
<mi>k</mi>
<mo>,</mo>
<mi>z</mi>
</mrow>
</msub>
</mtd>
</mtr>
<mtr>
<mtd>
<msub>
<mi>C</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>2</mn>
</mrow>
</msub>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mrow class="MJX-TeXAtom-ORD">
<mover>
<mi>r</mi>
<mo stretchy="false">^<!-- ^ --></mo>
</mover>
</mrow>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>j</mi>
<mi>k</mi>
<mo>,</mo>
<mi>z</mi>
</mrow>
</msub>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mrow class="MJX-TeXAtom-ORD">
<mover>
<mi>r</mi>
<mo stretchy="false">^<!-- ^ --></mo>
</mover>
</mrow>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>j</mi>
<mi>k</mi>
<mo>,</mo>
<mi>x</mi>
</mrow>
</msub>
</mtd>
<mtd>
<msub>
<mi>C</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>2</mn>
</mrow>
</msub>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mrow class="MJX-TeXAtom-ORD">
<mover>
<mi>r</mi>
<mo stretchy="false">^<!-- ^ --></mo>
</mover>
</mrow>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>j</mi>
<mi>k</mi>
<mo>,</mo>
<mi>z</mi>
</mrow>
</msub>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mrow class="MJX-TeXAtom-ORD">
<mover>
<mi>r</mi>
<mo stretchy="false">^<!-- ^ --></mo>
</mover>
</mrow>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>j</mi>
<mi>k</mi>
<mo>,</mo>
<mi>y</mi>
</mrow>
</msub>
</mtd>
<mtd>
<msub>
<mi>C</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>1</mn>
</mrow>
</msub>
<mo>+</mo>
<msub>
<mi>C</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>2</mn>
</mrow>
</msub>
<msubsup>
<mrow class="MJX-TeXAtom-ORD">
<mrow class="MJX-TeXAtom-ORD">
<mover>
<mi>r</mi>
<mo stretchy="false">^<!-- ^ --></mo>
</mover>
</mrow>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>j</mi>
<mi>k</mi>
<mo>,</mo>
<mi>z</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mn>2</mn>
</mrow>
</msubsup>
</mtd>
</mtr>
</mtable>
<mo>)</mo>
</mrow>
</mrow>
<mo>,</mo>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \mathbf {G} _{jk}={\begin{pmatrix}C_{1}+C_{2}{\hat {r}}_{jk,x}^{2}&amp;C_{2}{\hat {r}}_{jk,x}{\hat {r}}_{jk,y}&amp;C_{2}{\hat {r}}_{jk,x}{\hat {r}}_{jk,z}\\C_{2}{\hat {r}}_{jk,y}{\hat {r}}_{jk,x}&amp;C_{1}+C_{2}{\hat {r}}_{jk,y}^{2}&amp;C_{2}{\hat {r}}_{jk,y}{\hat {r}}_{jk,z}\\C_{2}{\hat {r}}_{jk,z}{\hat {r}}_{jk,x}&amp;C_{2}{\hat {r}}_{jk,z}{\hat {r}}_{jk,y}&amp;C_{1}+C_{2}{\hat {r}}_{jk,z}^{2}\end{pmatrix}},}</annotation>
</semantics>
</math></span><img src="./cb08dd58b756a9982aff94048a897b96e2a5a849.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -5.171ex; width:54.965ex; height:11.509ex;" alt="{\displaystyle \mathbf {G} _{jk}={\begin{pmatrix}C_{1}+C_{2}{\hat {r}}_{jk,x}^{2}&amp;C_{2}{\hat {r}}_{jk,x}{\hat {r}}_{jk,y}&amp;C_{2}{\hat {r}}_{jk,x}{\hat {r}}_{jk,z}\\C_{2}{\hat {r}}_{jk,y}{\hat {r}}_{jk,x}&amp;C_{1}+C_{2}{\hat {r}}_{jk,y}^{2}&amp;C_{2}{\hat {r}}_{jk,y}{\hat {r}}_{jk,z}\\C_{2}{\hat {r}}_{jk,z}{\hat {r}}_{jk,x}&amp;C_{2}{\hat {r}}_{jk,z}{\hat {r}}_{jk,y}&amp;C_{1}+C_{2}{\hat {r}}_{jk,z}^{2}\end{pmatrix}},}" loading="lazy"></span></dd></dl>
<p>Notice that it is symmetric: <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle G_{jk}^{yx}=G_{jk}^{xy},\;G_{jk}^{zx}=G_{jk}^{xz},\;G_{jk}^{zy}=G_{jk}^{yz}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msubsup>
<mi>G</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>j</mi>
<mi>k</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>y</mi>
<mi>x</mi>
</mrow>
</msubsup>
<mo>=</mo>
<msubsup>
<mi>G</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>j</mi>
<mi>k</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>x</mi>
<mi>y</mi>
</mrow>
</msubsup>
<mo>,</mo>
<mspace width="thickmathspace"></mspace>
<msubsup>
<mi>G</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>j</mi>
<mi>k</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>z</mi>
<mi>x</mi>
</mrow>
</msubsup>
<mo>=</mo>
<msubsup>
<mi>G</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>j</mi>
<mi>k</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>x</mi>
<mi>z</mi>
</mrow>
</msubsup>
<mo>,</mo>
<mspace width="thickmathspace"></mspace>
<msubsup>
<mi>G</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>j</mi>
<mi>k</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>z</mi>
<mi>y</mi>
</mrow>
</msubsup>
<mo>=</mo>
<msubsup>
<mi>G</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>j</mi>
<mi>k</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>y</mi>
<mi>z</mi>
</mrow>
</msubsup>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle G_{jk}^{yx}=G_{jk}^{xy},\;G_{jk}^{zx}=G_{jk}^{xz},\;G_{jk}^{zy}=G_{jk}^{yz}}</annotation>
</semantics>
</math></span><img src="./c47420ec419fa5eff2fb823c2a0a31c3e7f974fc.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.338ex; width:35.114ex; height:3.509ex;" alt="{\displaystyle G_{jk}^{yx}=G_{jk}^{xy},\;G_{jk}^{zx}=G_{jk}^{xz},\;G_{jk}^{zy}=G_{jk}^{yz}}" loading="lazy"></span>.
</p><p>Here <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbf {r} _{jk}=\mathbf {r} _{j}-\mathbf {r} _{k}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">r</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>j</mi>
<mi>k</mi>
</mrow>
</msub>
<mo>=</mo>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">r</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>j</mi>
</mrow>
</msub>
<mo>−<!-- − --></mo>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">r</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>k</mi>
</mrow>
</msub>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \mathbf {r} _{jk}=\mathbf {r} _{j}-\mathbf {r} _{k}}</annotation>
</semantics>
</math></span><img src="./61ea938271d3fedf74c17a3bb55d459449eba158.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.005ex; width:13.01ex; height:2.676ex;" alt="{\displaystyle \mathbf {r} _{jk}=\mathbf {r} _{j}-\mathbf {r} _{k}}" loading="lazy"></span> is the displacement vector from dipole <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle k}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>k</mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle k}</annotation>
</semantics>
</math></span><img src="./c3c9a2c7b599b37105512c5d570edc034056dd40.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.211ex; height:2.176ex;" alt="{\displaystyle k}" loading="lazy"></span> to dipole <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle j}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>j</mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle j}</annotation>
</semantics>
</math></span><img src="./2f461e54f5c093e92a55547b9764291390f0b5d0.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; margin-left: -0.027ex; width:0.985ex; height:2.509ex;" alt="{\displaystyle j}" loading="lazy"></span>, <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle r_{jk}=|\mathbf {r} _{jk}|}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mi>r</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>j</mi>
<mi>k</mi>
</mrow>
</msub>
<mo>=</mo>
<mrow class="MJX-TeXAtom-ORD">
<mo stretchy="false">|</mo>
</mrow>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">r</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>j</mi>
<mi>k</mi>
</mrow>
</msub>
<mrow class="MJX-TeXAtom-ORD">
<mo stretchy="false">|</mo>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle r_{jk}=|\mathbf {r} _{jk}|}</annotation>
</semantics>
</math></span><img src="./19e039701167f6ee5ea30ad385014ffe004284f5.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.005ex; width:10.075ex; height:3.009ex;" alt="{\displaystyle r_{jk}=|\mathbf {r} _{jk}|}" loading="lazy"></span> is the distance between them, and <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle {\hat {\mathbf {r} }}_{jk}=\mathbf {r} _{jk}/r_{jk}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mrow class="MJX-TeXAtom-ORD">
<mover>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">r</mi>
</mrow>
<mo stretchy="false">^<!-- ^ --></mo>
</mover>
</mrow>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>j</mi>
<mi>k</mi>
</mrow>
</msub>
<mo>=</mo>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">r</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>j</mi>
<mi>k</mi>
</mrow>
</msub>
<mrow class="MJX-TeXAtom-ORD">
<mo>/</mo>
</mrow>
<msub>
<mi>r</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>j</mi>
<mi>k</mi>
</mrow>
</msub>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle {\hat {\mathbf {r} }}_{jk}=\mathbf {r} _{jk}/r_{jk}}</annotation>
</semantics>
</math></span><img src="./9aa7b83c528cad4e264af66dce977d22b9067ebf.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.005ex; width:12.873ex; height:3.009ex;" alt="{\displaystyle {\hat {\mathbf {r} }}_{jk}=\mathbf {r} _{jk}/r_{jk}}" loading="lazy"></span> is the unit vector pointing from <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle k}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>k</mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle k}</annotation>
</semantics>
</math></span><img src="./c3c9a2c7b599b37105512c5d570edc034056dd40.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.211ex; height:2.176ex;" alt="{\displaystyle k}" loading="lazy"></span> to <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle j}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>j</mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle j}</annotation>
</semantics>
</math></span><img src="./2f461e54f5c093e92a55547b9764291390f0b5d0.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; margin-left: -0.027ex; width:0.985ex; height:2.509ex;" alt="{\displaystyle j}" loading="lazy"></span>. The components of <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle {\hat {\mathbf {r} }}_{jk}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mrow class="MJX-TeXAtom-ORD">
<mover>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">r</mi>
</mrow>
<mo stretchy="false">^<!-- ^ --></mo>
</mover>
</mrow>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>j</mi>
<mi>k</mi>
</mrow>
</msub>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle {\hat {\mathbf {r} }}_{jk}}</annotation>
</semantics>
</math></span><img src="./2e5e6683296c7d7f1921d8fb671afe1293e980d5.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.005ex; width:2.929ex; height:3.009ex;" alt="{\displaystyle {\hat {\mathbf {r} }}_{jk}}" loading="lazy"></span> are defined as:
</p>
<dl><dd><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle {\hat {r}}_{jk,x}={\frac {r_{j,x}-r_{k,x}}{r_{jk}}},\;{\hat {r}}_{jk,y}={\frac {r_{j,y}-r_{k,y}}{r_{jk}}},\;{\hat {r}}_{jk,z}={\frac {r_{j,z}-r_{k,z}}{r_{jk}}}.}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mrow class="MJX-TeXAtom-ORD">
<mover>
<mi>r</mi>
<mo stretchy="false">^<!-- ^ --></mo>
</mover>
</mrow>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>j</mi>
<mi>k</mi>
<mo>,</mo>
<mi>x</mi>
</mrow>
</msub>
<mo>=</mo>
<mrow class="MJX-TeXAtom-ORD">
<mfrac>
<mrow>
<msub>
<mi>r</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>j</mi>
<mo>,</mo>
<mi>x</mi>
</mrow>
</msub>
<mo>−<!-- − --></mo>
<msub>
<mi>r</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>k</mi>
<mo>,</mo>
<mi>x</mi>
</mrow>
</msub>
</mrow>
<msub>
<mi>r</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>j</mi>
<mi>k</mi>
</mrow>
</msub>
</mfrac>
</mrow>
<mo>,</mo>
<mspace width="thickmathspace"></mspace>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mrow class="MJX-TeXAtom-ORD">
<mover>
<mi>r</mi>
<mo stretchy="false">^<!-- ^ --></mo>
</mover>
</mrow>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>j</mi>
<mi>k</mi>
<mo>,</mo>
<mi>y</mi>
</mrow>
</msub>
<mo>=</mo>
<mrow class="MJX-TeXAtom-ORD">
<mfrac>
<mrow>
<msub>
<mi>r</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>j</mi>
<mo>,</mo>
<mi>y</mi>
</mrow>
</msub>
<mo>−<!-- − --></mo>
<msub>
<mi>r</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>k</mi>
<mo>,</mo>
<mi>y</mi>
</mrow>
</msub>
</mrow>
<msub>
<mi>r</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>j</mi>
<mi>k</mi>
</mrow>
</msub>
</mfrac>
</mrow>
<mo>,</mo>
<mspace width="thickmathspace"></mspace>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mrow class="MJX-TeXAtom-ORD">
<mover>
<mi>r</mi>
<mo stretchy="false">^<!-- ^ --></mo>
</mover>
</mrow>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>j</mi>
<mi>k</mi>
<mo>,</mo>
<mi>z</mi>
</mrow>
</msub>
<mo>=</mo>
<mrow class="MJX-TeXAtom-ORD">
<mfrac>
<mrow>
<msub>
<mi>r</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>j</mi>
<mo>,</mo>
<mi>z</mi>
</mrow>
</msub>
<mo>−<!-- − --></mo>
<msub>
<mi>r</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>k</mi>
<mo>,</mo>
<mi>z</mi>
</mrow>
</msub>
</mrow>
<msub>
<mi>r</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>j</mi>
<mi>k</mi>
</mrow>
</msub>
</mfrac>
</mrow>
<mo>.</mo>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle {\hat {r}}_{jk,x}={\frac {r_{j,x}-r_{k,x}}{r_{jk}}},\;{\hat {r}}_{jk,y}={\frac {r_{j,y}-r_{k,y}}{r_{jk}}},\;{\hat {r}}_{jk,z}={\frac {r_{j,z}-r_{k,z}}{r_{jk}}}.}</annotation>
</semantics>
</math></span><img src="./676d48ac8d63a9897c392f4b650baf565c5350b0.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -2.505ex; width:57.487ex; height:6.009ex;" alt="{\displaystyle {\hat {r}}_{jk,x}={\frac {r_{j,x}-r_{k,x}}{r_{jk}}},\;{\hat {r}}_{jk,y}={\frac {r_{j,y}-r_{k,y}}{r_{jk}}},\;{\hat {r}}_{jk,z}={\frac {r_{j,z}-r_{k,z}}{r_{jk}}}.}" loading="lazy"></span></dd></dl>
<div class="mw-heading mw-heading3"><h3 id="Polarizability">Polarizability</h3></div>
<style data-mw-deduplicate="TemplateStyles:r1236090951">
/* start https://en.wikipedia.org/ */


.mw-parser-output .hatnote{font-style:italic}.mw-parser-output div.hatnote{padding-left:1.6em;margin-bottom:0.5em}.mw-parser-output .hatnote i{font-style:normal}.mw-parser-output .hatnote+link+.hatnote{margin-top:-0.5em}@media print{body.ns-0 .mw-parser-output .hatnote{display:none!important}}


/* end https://en.wikipedia.org/ */
</style><div role="note" class="hatnote navigation-not-searchable">Main article: <a href="Polarizability" title="Polarizability">Polarizability</a></div>
<p>In the discrete dipole approximation, the electromagnetic response of a target is modeled by replacing the continuous material with a finite array of point dipoles. Each dipole represents a small volume of the material and acts as a polarizable unit that interacts with both the incident field and the fields radiated by all other dipoles. The key parameter that describes how each dipole responds to the local electric field is its polarizability <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \alpha _{j}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mi>α<!-- α --></mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>j</mi>
</mrow>
</msub>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \alpha _{j}}</annotation>
</semantics>
</math></span><img src="./293a364991ab1ee55c25b0f60fd9e52af7b7dbde.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.005ex; width:2.397ex; height:2.343ex;" alt="{\displaystyle \alpha _{j}}" loading="lazy"></span>. For a homogeneous material, the polarizability of a dipole is determined by the material’s complex dielectric function <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \varepsilon (\lambda )}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>ε<!-- ε --></mi>
<mo stretchy="false">(</mo>
<mi>λ<!-- λ --></mi>
<mo stretchy="false">)</mo>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \varepsilon (\lambda )}</annotation>
</semantics>
</math></span><img src="./1da6bc807274d14590766a7c6d9a8d63463a6737.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:4.248ex; height:2.843ex;" alt="{\displaystyle \varepsilon (\lambda )}" loading="lazy"></span>, which depends on the wavelength <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \lambda }">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>λ<!-- λ --></mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \lambda }</annotation>
</semantics>
</math></span><img src="./b43d0ea3c9c025af1be9128e62a18fa74bedda2a.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.355ex; height:2.176ex;" alt="{\displaystyle \lambda }" loading="lazy"></span> of light in vacuum. The dielectric function is related to the complex refractive index <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle n=n'+in''}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>n</mi>
<mo>=</mo>
<msup>
<mi>n</mi>
<mo>′</mo>
</msup>
<mo>+</mo>
<mi>i</mi>
<msup>
<mi>n</mi>
<mo>″</mo>
</msup>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle n=n'+in''}</annotation>
</semantics>
</math></span><img src="./54fb4dd2edcf1637560262662e75fbcc901fa60e.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.505ex; width:12.747ex; height:2.676ex;" alt="{\displaystyle n=n'+in''}" loading="lazy"></span> through <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \varepsilon =n^{2}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>ε<!-- ε --></mi>
<mo>=</mo>
<msup>
<mi>n</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>2</mn>
</mrow>
</msup>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \varepsilon =n^{2}}</annotation>
</semantics>
</math></span><img src="./9db2c03479ff09889fe2dfd388066d2f31ad4c69.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:6.631ex; height:2.676ex;" alt="{\displaystyle \varepsilon =n^{2}}" loading="lazy"></span>. The goal in DDA is to assign to each dipole a polarizability <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \alpha _{j}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mi>α<!-- α --></mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>j</mi>
</mrow>
</msub>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \alpha _{j}}</annotation>
</semantics>
</math></span><img src="./293a364991ab1ee55c25b0f60fd9e52af7b7dbde.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.005ex; width:2.397ex; height:2.343ex;" alt="{\displaystyle \alpha _{j}}" loading="lazy"></span> such that the array of dipoles reproduces, as accurately as possible, the scattering and absorption behavior of the original continuous medium. For isotropic materials, a common starting point is the <a href="Clausius%E2%80%93Mossotti_relation" title="Clausius–Mossotti relation">Clausius–Mossotti relation</a>, which connects the polarizability to the dielectric function:
</p><p>In the discrete dipole approximation, the total volume of the target is divided into small cubic cells of volume <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle V_{\mathrm {dipole} }=d^{3}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mi>V</mi>
<mrow class="MJX-TeXAtom-ORD">
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="normal">d</mi>
<mi mathvariant="normal">i</mi>
<mi mathvariant="normal">p</mi>
<mi mathvariant="normal">o</mi>
<mi mathvariant="normal">l</mi>
<mi mathvariant="normal">e</mi>
</mrow>
</mrow>
</msub>
<mo>=</mo>
<msup>
<mi>d</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>3</mn>
</mrow>
</msup>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle V_{\mathrm {dipole} }=d^{3}}</annotation>
</semantics>
</math></span><img src="./67aa13d56c9e405bd9c8c9484db73c97a452776d.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.005ex; width:11.253ex; height:3.343ex;" alt="{\displaystyle V_{\mathrm {dipole} }=d^{3}}" loading="lazy"></span>, where <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle d}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>d</mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle d}</annotation>
</semantics>
</math></span><img src="./e85ff03cbe0c7341af6b982e47e9f90d235c66ab.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.216ex; height:2.176ex;" alt="{\displaystyle d}" loading="lazy"></span> is the lattice spacing. The Clausius–Mossotti polarizability for each dipole is
</p>
<dl><dd><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \alpha _{j}={\frac {3V_{\mathrm {dipole} }}{4\pi }}{\frac {\varepsilon _{j}-1}{\varepsilon _{j}+2}},}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mi>α<!-- α --></mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>j</mi>
</mrow>
</msub>
<mo>=</mo>
<mrow class="MJX-TeXAtom-ORD">
<mfrac>
<mrow>
<mn>3</mn>
<msub>
<mi>V</mi>
<mrow class="MJX-TeXAtom-ORD">
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="normal">d</mi>
<mi mathvariant="normal">i</mi>
<mi mathvariant="normal">p</mi>
<mi mathvariant="normal">o</mi>
<mi mathvariant="normal">l</mi>
<mi mathvariant="normal">e</mi>
</mrow>
</mrow>
</msub>
</mrow>
<mrow>
<mn>4</mn>
<mi>π<!-- π --></mi>
</mrow>
</mfrac>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mfrac>
<mrow>
<msub>
<mi>ε<!-- ε --></mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>j</mi>
</mrow>
</msub>
<mo>−<!-- − --></mo>
<mn>1</mn>
</mrow>
<mrow>
<msub>
<mi>ε<!-- ε --></mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>j</mi>
</mrow>
</msub>
<mo>+</mo>
<mn>2</mn>
</mrow>
</mfrac>
</mrow>
<mo>,</mo>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \alpha _{j}={\frac {3V_{\mathrm {dipole} }}{4\pi }}{\frac {\varepsilon _{j}-1}{\varepsilon _{j}+2}},}</annotation>
</semantics>
</math></span><img src="./f944e8c14be2b7becbb8c3c0211d1f298f0997d3.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -2.505ex; width:20.856ex; height:6.176ex;" alt="{\displaystyle \alpha _{j}={\frac {3V_{\mathrm {dipole} }}{4\pi }}{\frac {\varepsilon _{j}-1}{\varepsilon _{j}+2}},}" loading="lazy"></span></dd></dl>
<p>where <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \varepsilon _{j}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mi>ε<!-- ε --></mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>j</mi>
</mrow>
</msub>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \varepsilon _{j}}</annotation>
</semantics>
</math></span><img src="./00f968845121a91c222089c0edebd9db9250fa2e.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.005ex; width:1.993ex; height:2.343ex;" alt="{\displaystyle \varepsilon _{j}}" loading="lazy"></span> is the relative permittivity of the material at the dipole’s position. The dipole volume <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle V_{\mathrm {dipole} }}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mi>V</mi>
<mrow class="MJX-TeXAtom-ORD">
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="normal">d</mi>
<mi mathvariant="normal">i</mi>
<mi mathvariant="normal">p</mi>
<mi mathvariant="normal">o</mi>
<mi mathvariant="normal">l</mi>
<mi mathvariant="normal">e</mi>
</mrow>
</mrow>
</msub>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle V_{\mathrm {dipole} }}</annotation>
</semantics>
</math></span><img src="./fda9f0016eb392c67624e4a11c7c7c96cc1f5c67.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.005ex; width:5.882ex; height:2.843ex;" alt="{\displaystyle V_{\mathrm {dipole} }}" loading="lazy"></span> is constant across all dipoles.
</p><p>This formula assumes that each dipole occupies a volume embedded in an otherwise uniform dielectric medium. In most implementations of DDA the formulation is expressed in Gaussian units (CGS). In these units, the polarizability <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \alpha _{j}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mi>α<!-- α --></mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>j</mi>
</mrow>
</msub>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \alpha _{j}}</annotation>
</semantics>
</math></span><img src="./293a364991ab1ee55c25b0f60fd9e52af7b7dbde.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.005ex; width:2.397ex; height:2.343ex;" alt="{\displaystyle \alpha _{j}}" loading="lazy"></span> has dimensions of volume (cm³). In the discrete dipole approximation, the total volume of the target is divided into <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle N}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>N</mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle N}</annotation>
</semantics>
</math></span><img src="./f5e3890c981ae85503089652feb48b191b57aae3.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:2.064ex; height:2.176ex;" alt="{\displaystyle N}" loading="lazy"></span> small cubic cells of volume <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle V_{\mathrm {dipole} }=d^{3}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mi>V</mi>
<mrow class="MJX-TeXAtom-ORD">
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="normal">d</mi>
<mi mathvariant="normal">i</mi>
<mi mathvariant="normal">p</mi>
<mi mathvariant="normal">o</mi>
<mi mathvariant="normal">l</mi>
<mi mathvariant="normal">e</mi>
</mrow>
</mrow>
</msub>
<mo>=</mo>
<msup>
<mi>d</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>3</mn>
</mrow>
</msup>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle V_{\mathrm {dipole} }=d^{3}}</annotation>
</semantics>
</math></span><img src="./67aa13d56c9e405bd9c8c9484db73c97a452776d.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.005ex; width:11.253ex; height:3.343ex;" alt="{\displaystyle V_{\mathrm {dipole} }=d^{3}}" loading="lazy"></span>, where <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle d}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>d</mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle d}</annotation>
</semantics>
</math></span><img src="./e85ff03cbe0c7341af6b982e47e9f90d235c66ab.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.216ex; height:2.176ex;" alt="{\displaystyle d}" loading="lazy"></span> is the lattice spacing and <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle N}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>N</mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle N}</annotation>
</semantics>
</math></span><img src="./f5e3890c981ae85503089652feb48b191b57aae3.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:2.064ex; height:2.176ex;" alt="{\displaystyle N}" loading="lazy"></span> is the total number of dipoles. The total target volume is thus
</p>
<dl><dd><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle V_{\mathrm {target} }=Nd^{3}.}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mi>V</mi>
<mrow class="MJX-TeXAtom-ORD">
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="normal">t</mi>
<mi mathvariant="normal">a</mi>
<mi mathvariant="normal">r</mi>
<mi mathvariant="normal">g</mi>
<mi mathvariant="normal">e</mi>
<mi mathvariant="normal">t</mi>
</mrow>
</mrow>
</msub>
<mo>=</mo>
<mi>N</mi>
<msup>
<mi>d</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>3</mn>
</mrow>
</msup>
<mo>.</mo>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle V_{\mathrm {target} }=Nd^{3}.}</annotation>
</semantics>
</math></span><img src="./4bd5287aa86f9c70a0074510b999bbb40d9b3e75.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.005ex; width:13.967ex; height:3.343ex;" alt="{\displaystyle V_{\mathrm {target} }=Nd^{3}.}" loading="lazy"></span></dd></dl>
<p>To improve the accuracy of the method various corrections to <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \alpha _{j}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mi>α<!-- α --></mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>j</mi>
</mrow>
</msub>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \alpha _{j}}</annotation>
</semantics>
</math></span><img src="./293a364991ab1ee55c25b0f60fd9e52af7b7dbde.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.005ex; width:2.397ex; height:2.343ex;" alt="{\displaystyle \alpha _{j}}" loading="lazy"></span> are applied. These include: the lattice dispersion relation (LDR) polarizability (Draine &amp; Goodman, 1993), which adjusts <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \alpha _{j}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mi>α<!-- α --></mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>j</mi>
</mrow>
</msub>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \alpha _{j}}</annotation>
</semantics>
</math></span><img src="./293a364991ab1ee55c25b0f60fd9e52af7b7dbde.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.005ex; width:2.397ex; height:2.343ex;" alt="{\displaystyle \alpha _{j}}" loading="lazy"></span> to ensure that the dispersion relation of an infinite lattice of dipoles matches that of the continuous material; the radiative reaction (RR) correction, which compensates for the fact that each dipole radiates energy and is influenced by its own radiation field.
</p><p><br>
</p>
<div class="mw-heading mw-heading3"><h3 id="Size_parameter">Size parameter</h3></div>
<p>The size parameter is a dimensionless quantity used in scattering theory to characterize the size of a particle relative to the wavelength of the incident light. For a sphere, it is defined as:
</p>
<dl><dd><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle x={\frac {2\pi r}{\lambda }}=kr}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>x</mi>
<mo>=</mo>
<mrow class="MJX-TeXAtom-ORD">
<mfrac>
<mrow>
<mn>2</mn>
<mi>π<!-- π --></mi>
<mi>r</mi>
</mrow>
<mi>λ<!-- λ --></mi>
</mfrac>
</mrow>
<mo>=</mo>
<mi>k</mi>
<mi>r</mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle x={\frac {2\pi r}{\lambda }}=kr}</annotation>
</semantics>
</math></span><img src="./c5ae739267ca926228f1a296103b3633a4d55d98.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -2.005ex; width:14.166ex; height:5.343ex;" alt="{\displaystyle x={\frac {2\pi r}{\lambda }}=kr}" loading="lazy"></span></dd></dl>
<p>where: <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle x}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>x</mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle x}</annotation>
</semantics>
</math></span><img src="./87f9e315fd7e2ba406057a97300593c4802b53e4.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.33ex; height:1.676ex;" alt="{\displaystyle x}" loading="lazy"></span> is the size parameter (dimensionless), <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle a}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>a</mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle a}</annotation>
</semantics>
</math></span><img src="./ffd2487510aa438433a2579450ab2b3d557e5edc.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.23ex; height:1.676ex;" alt="{\displaystyle a}" loading="lazy"></span> is the radius of the sphere, <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \lambda }">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>λ<!-- λ --></mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \lambda }</annotation>
</semantics>
</math></span><img src="./b43d0ea3c9c025af1be9128e62a18fa74bedda2a.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.355ex; height:2.176ex;" alt="{\displaystyle \lambda }" loading="lazy"></span> is the wavelength of light in vacuum,
</p>
<dl><dd><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle k={\frac {2\pi }{\lambda }}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>k</mi>
<mo>=</mo>
<mrow class="MJX-TeXAtom-ORD">
<mfrac>
<mrow>
<mn>2</mn>
<mi>π<!-- π --></mi>
</mrow>
<mi>λ<!-- λ --></mi>
</mfrac>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle k={\frac {2\pi }{\lambda }}}</annotation>
</semantics>
</math></span><img src="./f567225915e2b51c00573536e20eee76db99740b.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -2.005ex; width:7.64ex; height:5.343ex;" alt="{\displaystyle k={\frac {2\pi }{\lambda }}}" loading="lazy"></span> is the wavenumber.</dd></dl>
<p>In case of a sphere, the size parameter determines the scattering regime:
</p>
<ul><li>If <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle x\ll 1}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>x</mi>
<mo>≪<!-- ≪ --></mo>
<mn>1</mn>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle x\ll 1}</annotation>
</semantics>
</math></span><img src="./735b23270ff44ee7804e7412d368833a63a716fd.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:6.106ex; height:2.176ex;" alt="{\displaystyle x\ll 1}" loading="lazy"></span>, <a href="Rayleigh_scattering" title="Rayleigh scattering">Rayleigh scattering</a> dominates.</li>
<li>If <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle x\sim 1}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>x</mi>
<mo>∼<!-- ∼ --></mo>
<mn>1</mn>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle x\sim 1}</annotation>
</semantics>
</math></span><img src="./ee623d3d4e2e737df83255352223d37a930d9fe8.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:5.591ex; height:2.176ex;" alt="{\displaystyle x\sim 1}" loading="lazy"></span>, the scattering is in the regime of <a href="Mie_scattering" title="Mie scattering">Mie scattering</a>.</li>
<li>If <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle x\gg 1}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>x</mi>
<mo>≫<!-- ≫ --></mo>
<mn>1</mn>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle x\gg 1}</annotation>
</semantics>
</math></span><img src="./03817e8d3d6b485b7304c4b481d7a352da1f4f0c.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:6.106ex; height:2.176ex;" alt="{\displaystyle x\gg 1}" loading="lazy"></span>, the <a href="Geometrical_optics" title="Geometrical optics">geometric optics</a> approximation becomes valid.</li></ul>
<p><br>
</p><p><br>
</p>
<div class="mw-heading mw-heading3"><h3 id="Effective_radius_and_dipole_discretization">Effective radius and dipole discretization</h3></div>
<p>For nonspherical targets with the same volume as a sphere, the effective radius <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle r_{\text{eff}}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mi>r</mi>
<mrow class="MJX-TeXAtom-ORD">
<mtext>eff</mtext>
</mrow>
</msub>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle r_{\text{eff}}}</annotation>
</semantics>
</math></span><img src="./c6cd0c1eae1324b5960491509843a273bea02e28.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:3.018ex; height:2.009ex;" alt="{\displaystyle r_{\text{eff}}}" loading="lazy"></span> is often used in place of <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle r}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>r</mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle r}</annotation>
</semantics>
</math></span><img src="./0d1ecb613aa2984f0576f70f86650b7c2a132538.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.049ex; height:1.676ex;" alt="{\displaystyle r}" loading="lazy"></span>, with:
</p>
<dl><dd><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle r_{\text{eff}}=\left({\frac {3V_{\text{tot}}}{4\pi }}\right)^{1/3}=\left({\frac {3Nd^{3}}{4\pi }}\right)^{1/3}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mi>r</mi>
<mrow class="MJX-TeXAtom-ORD">
<mtext>eff</mtext>
</mrow>
</msub>
<mo>=</mo>
<msup>
<mrow>
<mo>(</mo>
<mrow class="MJX-TeXAtom-ORD">
<mfrac>
<mrow>
<mn>3</mn>
<msub>
<mi>V</mi>
<mrow class="MJX-TeXAtom-ORD">
<mtext>tot</mtext>
</mrow>
</msub>
</mrow>
<mrow>
<mn>4</mn>
<mi>π<!-- π --></mi>
</mrow>
</mfrac>
</mrow>
<mo>)</mo>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mn>1</mn>
<mrow class="MJX-TeXAtom-ORD">
<mo>/</mo>
</mrow>
<mn>3</mn>
</mrow>
</msup>
<mo>=</mo>
<msup>
<mrow>
<mo>(</mo>
<mrow class="MJX-TeXAtom-ORD">
<mfrac>
<mrow>
<mn>3</mn>
<mi>N</mi>
<msup>
<mi>d</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>3</mn>
</mrow>
</msup>
</mrow>
<mrow>
<mn>4</mn>
<mi>π<!-- π --></mi>
</mrow>
</mfrac>
</mrow>
<mo>)</mo>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mn>1</mn>
<mrow class="MJX-TeXAtom-ORD">
<mo>/</mo>
</mrow>
<mn>3</mn>
</mrow>
</msup>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle r_{\text{eff}}=\left({\frac {3V_{\text{tot}}}{4\pi }}\right)^{1/3}=\left({\frac {3Nd^{3}}{4\pi }}\right)^{1/3}}</annotation>
</semantics>
</math></span><img src="./af68fb700331d1885753012c5b9d2bf9f0f28269.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -2.505ex; width:33.475ex; height:6.843ex;" alt="{\displaystyle r_{\text{eff}}=\left({\frac {3V_{\text{tot}}}{4\pi }}\right)^{1/3}=\left({\frac {3Nd^{3}}{4\pi }}\right)^{1/3}}" loading="lazy"></span></dd></dl>
<p>where: <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle N}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>N</mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle N}</annotation>
</semantics>
</math></span><img src="./f5e3890c981ae85503089652feb48b191b57aae3.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:2.064ex; height:2.176ex;" alt="{\displaystyle N}" loading="lazy"></span> is the total number of dipoles, <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle d}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>d</mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle d}</annotation>
</semantics>
</math></span><img src="./e85ff03cbe0c7341af6b982e47e9f90d235c66ab.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.216ex; height:2.176ex;" alt="{\displaystyle d}" loading="lazy"></span> is the dipole spacing, <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle V_{\text{tot}}=Nd^{3}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mi>V</mi>
<mrow class="MJX-TeXAtom-ORD">
<mtext>tot</mtext>
</mrow>
</msub>
<mo>=</mo>
<mi>N</mi>
<msup>
<mi>d</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>3</mn>
</mrow>
</msup>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle V_{\text{tot}}=Nd^{3}}</annotation>
</semantics>
</math></span><img src="./3f70f1e76d55e403a3a255ede23733616c72c6fc.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:11.123ex; height:3.009ex;" alt="{\displaystyle V_{\text{tot}}=Nd^{3}}" loading="lazy"></span> is the total volume represented by the dipoles. This gives effective size parameter
</p>
<dl><dd><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle x_{\text{eff}}={\frac {2\pi r_{\text{eff}}}{\lambda }}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mi>x</mi>
<mrow class="MJX-TeXAtom-ORD">
<mtext>eff</mtext>
</mrow>
</msub>
<mo>=</mo>
<mrow class="MJX-TeXAtom-ORD">
<mfrac>
<mrow>
<mn>2</mn>
<mi>π<!-- π --></mi>
<msub>
<mi>r</mi>
<mrow class="MJX-TeXAtom-ORD">
<mtext>eff</mtext>
</mrow>
</msub>
</mrow>
<mi>λ<!-- λ --></mi>
</mfrac>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle x_{\text{eff}}={\frac {2\pi r_{\text{eff}}}{\lambda }}}</annotation>
</semantics>
</math></span><img src="./5fb2ad3676e4839be093b0e51b5fca228d28aab8.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -2.005ex; width:12.745ex; height:5.343ex;" alt="{\displaystyle x_{\text{eff}}={\frac {2\pi r_{\text{eff}}}{\lambda }}}" loading="lazy"></span></dd></dl>
<p>One convenient trick in certain DDA accuracy tests is to define wavelength as <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle 2\pi }">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mn>2</mn>
<mi>π<!-- π --></mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle 2\pi }</annotation>
</semantics>
</math></span><img src="./73efd1f6493490b058097060a572606d2c550a06.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:2.494ex; height:2.176ex;" alt="{\displaystyle 2\pi }" loading="lazy"></span>, in such a case effective radius is the same as effective size parameter.
</p>
<div class="mw-heading mw-heading3"><h3 id="Dipole-scale_size_parameter">Dipole-scale size parameter</h3></div>
<p>Each polarizable point (dipole) occupies a cubic volume with side length <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle d}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>d</mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle d}</annotation>
</semantics>
</math></span><img src="./e85ff03cbe0c7341af6b982e47e9f90d235c66ab.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.216ex; height:2.176ex;" alt="{\displaystyle d}" loading="lazy"></span>. Analogous to the global size parameter <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle x=2\pi r/\lambda }">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>x</mi>
<mo>=</mo>
<mn>2</mn>
<mi>π<!-- π --></mi>
<mi>r</mi>
<mrow class="MJX-TeXAtom-ORD">
<mo>/</mo>
</mrow>
<mi>λ<!-- λ --></mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle x=2\pi r/\lambda }</annotation>
</semantics>
</math></span><img src="./88849403ca91f06cc26bc228bc77c50ce1483279.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:10.489ex; height:2.843ex;" alt="{\displaystyle x=2\pi r/\lambda }" loading="lazy"></span> used for whole particles, one can define a local size parameter for each dipole:
</p>
<dl><dd><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle x_{d}=|m|kd={\frac {2\pi |m|d}{\lambda }}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mi>x</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>d</mi>
</mrow>
</msub>
<mo>=</mo>
<mrow class="MJX-TeXAtom-ORD">
<mo stretchy="false">|</mo>
</mrow>
<mi>m</mi>
<mrow class="MJX-TeXAtom-ORD">
<mo stretchy="false">|</mo>
</mrow>
<mi>k</mi>
<mi>d</mi>
<mo>=</mo>
<mrow class="MJX-TeXAtom-ORD">
<mfrac>
<mrow>
<mn>2</mn>
<mi>π<!-- π --></mi>
<mrow class="MJX-TeXAtom-ORD">
<mo stretchy="false">|</mo>
</mrow>
<mi>m</mi>
<mrow class="MJX-TeXAtom-ORD">
<mo stretchy="false">|</mo>
</mrow>
<mi>d</mi>
</mrow>
<mi>λ<!-- λ --></mi>
</mfrac>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle x_{d}=|m|kd={\frac {2\pi |m|d}{\lambda }}}</annotation>
</semantics>
</math></span><img src="./aa4891fd8ed1e680e7a673f983bd5cd3245fa42a.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -2.005ex; width:22.26ex; height:5.843ex;" alt="{\displaystyle x_{d}=|m|kd={\frac {2\pi |m|d}{\lambda }}}" loading="lazy"></span></dd></dl>
<p>This local parameter quantifies the ratio of the dipole size to the wavelength of light inside the material. For the DDA to be accurate, the field should vary slowly over the size of each dipole. This condition is satisfied when:
</p>
<dl><dd><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle x_{d}=|m|kd\lesssim 0.5}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mi>x</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>d</mi>
</mrow>
</msub>
<mo>=</mo>
<mrow class="MJX-TeXAtom-ORD">
<mo stretchy="false">|</mo>
</mrow>
<mi>m</mi>
<mrow class="MJX-TeXAtom-ORD">
<mo stretchy="false">|</mo>
</mrow>
<mi>k</mi>
<mi>d</mi>
<mo>≲<!-- ≲ --></mo>
<mn>0.5</mn>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle x_{d}=|m|kd\lesssim 0.5}</annotation>
</semantics>
</math></span><img src="./b35bcdc6012cc9216bab8e43c8e8ad925d114af7.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:17.352ex; height:2.843ex;" alt="{\displaystyle x_{d}=|m|kd\lesssim 0.5}" loading="lazy"></span></dd></dl>
<p>This ensures that each dipole is optically small, fields vary slowly over the dipole and the polarizability formula used for each dipole is accurate. Notice that a similar parameter plays a crucial role in the <a href="Anomalous_diffraction_theory" title="Anomalous diffraction theory">anomalous diffraction theory</a> of van de Hulst, where the total phase shift experienced by light rays traveling through or around the particle is given by:
</p>
<dl><dd><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \delta =2\pi (m-1){\frac {r}{\lambda }}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>δ<!-- δ --></mi>
<mo>=</mo>
<mn>2</mn>
<mi>π<!-- π --></mi>
<mo stretchy="false">(</mo>
<mi>m</mi>
<mo>−<!-- − --></mo>
<mn>1</mn>
<mo stretchy="false">)</mo>
<mrow class="MJX-TeXAtom-ORD">
<mfrac>
<mi>r</mi>
<mi>λ<!-- λ --></mi>
</mfrac>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \delta =2\pi (m-1){\frac {r}{\lambda }}}</annotation>
</semantics>
</math></span><img src="./f3d388ab9efda11395f69c9d6123d53b77cb8f6d.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -2.005ex; width:16.685ex; height:4.843ex;" alt="{\displaystyle \delta =2\pi (m-1){\frac {r}{\lambda }}}" loading="lazy"></span></dd></dl>
<p>This describes the optical path difference introduced by the particle (or in the case of DDA by a dipole).
</p><p><br>
</p>
<div class="mw-heading mw-heading3"><h3 id="Explicit_Matrix_Form_of_the_DDA_System">Explicit Matrix Form of the DDA System</h3></div>
<p>The Discrete Dipole Approximation (DDA) linear system is expressed as:
</p>
<dl><dd><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbf {A} \mathbf {P} =\mathbf {E} _{\mathrm {inc} }}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">A</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">P</mi>
</mrow>
<mo>=</mo>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">E</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="normal">i</mi>
<mi mathvariant="normal">n</mi>
<mi mathvariant="normal">c</mi>
</mrow>
</mrow>
</msub>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \mathbf {A} \mathbf {P} =\mathbf {E} _{\mathrm {inc} }}</annotation>
</semantics>
</math></span><img src="./5a750e36fe200bf2f80d43c1b033fc745f140314.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:11.035ex; height:2.509ex;" alt="{\displaystyle \mathbf {A} \mathbf {P} =\mathbf {E} _{\mathrm {inc} }}" loading="lazy"></span></dd></dl>
<p>where <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbf {A} \in \mathbb {C} ^{3N\times 3N}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">A</mi>
</mrow>
<mo>∈<!-- ∈ --></mo>
<msup>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="double-struck">C</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mn>3</mn>
<mi>N</mi>
<mo>×<!-- × --></mo>
<mn>3</mn>
<mi>N</mi>
</mrow>
</msup>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \mathbf {A} \in \mathbb {C} ^{3N\times 3N}}</annotation>
</semantics>
</math></span><img src="./b654ea1b82d1b8ed0bd610a82521dd790733c07b.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:12.611ex; height:2.676ex;" alt="{\displaystyle \mathbf {A} \in \mathbb {C} ^{3N\times 3N}}" loading="lazy"></span> is the system matrix, <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbf {P} \in \mathbb {C} ^{3N}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">P</mi>
</mrow>
<mo>∈<!-- ∈ --></mo>
<msup>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="double-struck">C</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mn>3</mn>
<mi>N</mi>
</mrow>
</msup>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \mathbf {P} \in \mathbb {C} ^{3N}}</annotation>
</semantics>
</math></span><img src="./e67e1b0da026ee1270074563456e3b9a8cece326.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:8.859ex; height:2.676ex;" alt="{\displaystyle \mathbf {P} \in \mathbb {C} ^{3N}}" loading="lazy"></span> is the unknown polarization vector, <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbf {E} _{\mathrm {inc} }\in \mathbb {C} ^{3N}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">E</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="normal">i</mi>
<mi mathvariant="normal">n</mi>
<mi mathvariant="normal">c</mi>
</mrow>
</mrow>
</msub>
<mo>∈<!-- ∈ --></mo>
<msup>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="double-struck">C</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mn>3</mn>
<mi>N</mi>
</mrow>
</msup>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \mathbf {E} _{\mathrm {inc} }\in \mathbb {C} ^{3N}}</annotation>
</semantics>
</math></span><img src="./32ebc9c3ea646ae27c48beff3110475ef6a3c8df.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:11.123ex; height:3.009ex;" alt="{\displaystyle \mathbf {E} _{\mathrm {inc} }\in \mathbb {C} ^{3N}}" loading="lazy"></span> is the incident electric field vector.
We have
</p>
<dl><dd><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbf {A} =-\mathbf {G} +\mathrm {diag} ({\boldsymbol {\alpha }}_{1}^{-1},\dots ,{\boldsymbol {\alpha }}_{N}^{-1})}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">A</mi>
</mrow>
<mo>=</mo>
<mo>−<!-- − --></mo>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">G</mi>
</mrow>
<mo>+</mo>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="normal">d</mi>
<mi mathvariant="normal">i</mi>
<mi mathvariant="normal">a</mi>
<mi mathvariant="normal">g</mi>
</mrow>
<mo stretchy="false">(</mo>
<msubsup>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold-italic">α<!-- α --></mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mn>1</mn>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mo>−<!-- − --></mo>
<mn>1</mn>
</mrow>
</msubsup>
<mo>,</mo>
<mo>…<!-- … --></mo>
<mo>,</mo>
<msubsup>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold-italic">α<!-- α --></mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>N</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mo>−<!-- − --></mo>
<mn>1</mn>
</mrow>
</msubsup>
<mo stretchy="false">)</mo>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \mathbf {A} =-\mathbf {G} +\mathrm {diag} ({\boldsymbol {\alpha }}_{1}^{-1},\dots ,{\boldsymbol {\alpha }}_{N}^{-1})}</annotation>
</semantics>
</math></span><img src="./9bfbbb0dfc61aa647ab433a35f41d1c24e498538.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.005ex; width:31.322ex; height:3.343ex;" alt="{\displaystyle \mathbf {A} =-\mathbf {G} +\mathrm {diag} ({\boldsymbol {\alpha }}_{1}^{-1},\dots ,{\boldsymbol {\alpha }}_{N}^{-1})}" loading="lazy"></span>.</dd></dl>
<p><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbf {G} }">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">G</mi>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \mathbf {G} }</annotation>
</semantics>
</math></span><img src="./f6d9c60d3cf462a9812e9a9d021d17c7bc272a5a.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:2.101ex; height:2.176ex;" alt="{\displaystyle \mathbf {G} }" loading="lazy"></span> encodes interactions between dipoles via the Green’s tensor (non-local), and <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathrm {diag} ({\boldsymbol {\alpha }}_{1}^{-1},\dots ,{\boldsymbol {\alpha }}_{N}^{-1})}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="normal">d</mi>
<mi mathvariant="normal">i</mi>
<mi mathvariant="normal">a</mi>
<mi mathvariant="normal">g</mi>
</mrow>
<mo stretchy="false">(</mo>
<msubsup>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold-italic">α<!-- α --></mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mn>1</mn>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mo>−<!-- − --></mo>
<mn>1</mn>
</mrow>
</msubsup>
<mo>,</mo>
<mo>…<!-- … --></mo>
<mo>,</mo>
<msubsup>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold-italic">α<!-- α --></mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>N</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mo>−<!-- − --></mo>
<mn>1</mn>
</mrow>
</msubsup>
<mo stretchy="false">)</mo>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \mathrm {diag} ({\boldsymbol {\alpha }}_{1}^{-1},\dots ,{\boldsymbol {\alpha }}_{N}^{-1})}</annotation>
</semantics>
</math></span><img src="./3b10b2e1085e2fb7c80169e6637883dfa75985bf.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.005ex; width:19.455ex; height:3.343ex;" alt="{\displaystyle \mathrm {diag} ({\boldsymbol {\alpha }}_{1}^{-1},\dots ,{\boldsymbol {\alpha }}_{N}^{-1})}" loading="lazy"></span> is a block-diagonal matrix with each block <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle {\boldsymbol {\alpha }}_{j}^{-1}\in \mathbb {C} ^{3\times 3}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msubsup>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold-italic">α<!-- α --></mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>j</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mo>−<!-- − --></mo>
<mn>1</mn>
</mrow>
</msubsup>
<mo>∈<!-- ∈ --></mo>
<msup>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="double-struck">C</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mn>3</mn>
<mo>×<!-- × --></mo>
<mn>3</mn>
</mrow>
</msup>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle {\boldsymbol {\alpha }}_{j}^{-1}\in \mathbb {C} ^{3\times 3}}</annotation>
</semantics>
</math></span><img src="./f8ba3e8ce5dd35747afbf067553a3e3ae06d236d.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.338ex; width:11.775ex; height:3.676ex;" alt="{\displaystyle {\boldsymbol {\alpha }}_{j}^{-1}\in \mathbb {C} ^{3\times 3}}" loading="lazy"></span>.
</p><p>Let <i>N</i> be the number of dipoles. Each dipole has a polarization vector <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbf {P} _{j}\in \mathbb {C} ^{3}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">P</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>j</mi>
</mrow>
</msub>
<mo>∈<!-- ∈ --></mo>
<msup>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="double-struck">C</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mn>3</mn>
</mrow>
</msup>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \mathbf {P} _{j}\in \mathbb {C} ^{3}}</annotation>
</semantics>
</math></span><img src="./ba2e676506b89b05b17a67a5d9acdeaf64b9bf75.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.005ex; width:8.309ex; height:3.343ex;" alt="{\displaystyle \mathbf {P} _{j}\in \mathbb {C} ^{3}}" loading="lazy"></span>. The total system is a matrix equation of size <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle 3N\times 3N}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mn>3</mn>
<mi>N</mi>
<mo>×<!-- × --></mo>
<mn>3</mn>
<mi>N</mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle 3N\times 3N}</annotation>
</semantics>
</math></span><img src="./43c8eaa59b4e8cc2d17cc7f193f5d68a6b437024.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:9.293ex; height:2.176ex;" alt="{\displaystyle 3N\times 3N}" loading="lazy"></span>:
</p>
<dl><dd><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle {\begin{bmatrix}{\boldsymbol {\alpha }}_{1}^{-1}&amp;-\mathbf {G} _{12}&amp;-\mathbf {G} _{13}&amp;\cdots &amp;-\mathbf {G} _{1N}\\-\mathbf {G} _{21}&amp;{\boldsymbol {\alpha }}_{2}^{-1}&amp;-\mathbf {G} _{23}&amp;\cdots &amp;-\mathbf {G} _{2N}\\-\mathbf {G} _{31}&amp;-\mathbf {G} _{32}&amp;{\boldsymbol {\alpha }}_{3}^{-1}&amp;\cdots &amp;-\mathbf {G} _{3N}\\\vdots &amp;\vdots &amp;\vdots &amp;\ddots &amp;\vdots \\-\mathbf {G} _{N1}&amp;-\mathbf {G} _{N2}&amp;-\mathbf {G} _{N3}&amp;\cdots &amp;{\boldsymbol {\alpha }}_{N}^{-1}\end{bmatrix}}{\begin{bmatrix}\mathbf {P} _{1}\\\mathbf {P} _{2}\\\vdots \\\mathbf {P} _{N}\end{bmatrix}}={\begin{bmatrix}\mathbf {E} _{\mathrm {inc} ,1}\\\mathbf {E} _{\mathrm {inc} ,2}\\\vdots \\\mathbf {E} _{\mathrm {inc} ,N}\end{bmatrix}}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mrow class="MJX-TeXAtom-ORD">
<mrow>
<mo>[</mo>
<mtable rowspacing="4pt" columnspacing="1em">
<mtr>
<mtd>
<msubsup>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold-italic">α<!-- α --></mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mn>1</mn>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mo>−<!-- − --></mo>
<mn>1</mn>
</mrow>
</msubsup>
</mtd>
<mtd>
<mo>−<!-- − --></mo>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">G</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mn>12</mn>
</mrow>
</msub>
</mtd>
<mtd>
<mo>−<!-- − --></mo>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">G</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mn>13</mn>
</mrow>
</msub>
</mtd>
<mtd>
<mo>⋯<!-- ⋯ --></mo>
</mtd>
<mtd>
<mo>−<!-- − --></mo>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">G</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mn>1</mn>
<mi>N</mi>
</mrow>
</msub>
</mtd>
</mtr>
<mtr>
<mtd>
<mo>−<!-- − --></mo>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">G</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mn>21</mn>
</mrow>
</msub>
</mtd>
<mtd>
<msubsup>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold-italic">α<!-- α --></mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mn>2</mn>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mo>−<!-- − --></mo>
<mn>1</mn>
</mrow>
</msubsup>
</mtd>
<mtd>
<mo>−<!-- − --></mo>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">G</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mn>23</mn>
</mrow>
</msub>
</mtd>
<mtd>
<mo>⋯<!-- ⋯ --></mo>
</mtd>
<mtd>
<mo>−<!-- − --></mo>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">G</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mn>2</mn>
<mi>N</mi>
</mrow>
</msub>
</mtd>
</mtr>
<mtr>
<mtd>
<mo>−<!-- − --></mo>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">G</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mn>31</mn>
</mrow>
</msub>
</mtd>
<mtd>
<mo>−<!-- − --></mo>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">G</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mn>32</mn>
</mrow>
</msub>
</mtd>
<mtd>
<msubsup>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold-italic">α<!-- α --></mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mn>3</mn>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mo>−<!-- − --></mo>
<mn>1</mn>
</mrow>
</msubsup>
</mtd>
<mtd>
<mo>⋯<!-- ⋯ --></mo>
</mtd>
<mtd>
<mo>−<!-- − --></mo>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">G</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mn>3</mn>
<mi>N</mi>
</mrow>
</msub>
</mtd>
</mtr>
<mtr>
<mtd>
<mo>⋮<!-- ⋮ --></mo>
</mtd>
<mtd>
<mo>⋮<!-- ⋮ --></mo>
</mtd>
<mtd>
<mo>⋮<!-- ⋮ --></mo>
</mtd>
<mtd>
<mo>⋱<!-- ⋱ --></mo>
</mtd>
<mtd>
<mo>⋮<!-- ⋮ --></mo>
</mtd>
</mtr>
<mtr>
<mtd>
<mo>−<!-- − --></mo>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">G</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>N</mi>
<mn>1</mn>
</mrow>
</msub>
</mtd>
<mtd>
<mo>−<!-- − --></mo>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">G</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>N</mi>
<mn>2</mn>
</mrow>
</msub>
</mtd>
<mtd>
<mo>−<!-- − --></mo>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">G</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>N</mi>
<mn>3</mn>
</mrow>
</msub>
</mtd>
<mtd>
<mo>⋯<!-- ⋯ --></mo>
</mtd>
<mtd>
<msubsup>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold-italic">α<!-- α --></mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>N</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mo>−<!-- − --></mo>
<mn>1</mn>
</mrow>
</msubsup>
</mtd>
</mtr>
</mtable>
<mo>]</mo>
</mrow>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mrow>
<mo>[</mo>
<mtable rowspacing="4pt" columnspacing="1em">
<mtr>
<mtd>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">P</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mn>1</mn>
</mrow>
</msub>
</mtd>
</mtr>
<mtr>
<mtd>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">P</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mn>2</mn>
</mrow>
</msub>
</mtd>
</mtr>
<mtr>
<mtd>
<mo>⋮<!-- ⋮ --></mo>
</mtd>
</mtr>
<mtr>
<mtd>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">P</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>N</mi>
</mrow>
</msub>
</mtd>
</mtr>
</mtable>
<mo>]</mo>
</mrow>
</mrow>
<mo>=</mo>
<mrow class="MJX-TeXAtom-ORD">
<mrow>
<mo>[</mo>
<mtable rowspacing="4pt" columnspacing="1em">
<mtr>
<mtd>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">E</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="normal">i</mi>
<mi mathvariant="normal">n</mi>
<mi mathvariant="normal">c</mi>
</mrow>
<mo>,</mo>
<mn>1</mn>
</mrow>
</msub>
</mtd>
</mtr>
<mtr>
<mtd>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">E</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="normal">i</mi>
<mi mathvariant="normal">n</mi>
<mi mathvariant="normal">c</mi>
</mrow>
<mo>,</mo>
<mn>2</mn>
</mrow>
</msub>
</mtd>
</mtr>
<mtr>
<mtd>
<mo>⋮<!-- ⋮ --></mo>
</mtd>
</mtr>
<mtr>
<mtd>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">E</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="normal">i</mi>
<mi mathvariant="normal">n</mi>
<mi mathvariant="normal">c</mi>
</mrow>
<mo>,</mo>
<mi>N</mi>
</mrow>
</msub>
</mtd>
</mtr>
</mtable>
<mo>]</mo>
</mrow>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle {\begin{bmatrix}{\boldsymbol {\alpha }}_{1}^{-1}&amp;-\mathbf {G} _{12}&amp;-\mathbf {G} _{13}&amp;\cdots &amp;-\mathbf {G} _{1N}\\-\mathbf {G} _{21}&amp;{\boldsymbol {\alpha }}_{2}^{-1}&amp;-\mathbf {G} _{23}&amp;\cdots &amp;-\mathbf {G} _{2N}\\-\mathbf {G} _{31}&amp;-\mathbf {G} _{32}&amp;{\boldsymbol {\alpha }}_{3}^{-1}&amp;\cdots &amp;-\mathbf {G} _{3N}\\\vdots &amp;\vdots &amp;\vdots &amp;\ddots &amp;\vdots \\-\mathbf {G} _{N1}&amp;-\mathbf {G} _{N2}&amp;-\mathbf {G} _{N3}&amp;\cdots &amp;{\boldsymbol {\alpha }}_{N}^{-1}\end{bmatrix}}{\begin{bmatrix}\mathbf {P} _{1}\\\mathbf {P} _{2}\\\vdots \\\mathbf {P} _{N}\end{bmatrix}}={\begin{bmatrix}\mathbf {E} _{\mathrm {inc} ,1}\\\mathbf {E} _{\mathrm {inc} ,2}\\\vdots \\\mathbf {E} _{\mathrm {inc} ,N}\end{bmatrix}}}</annotation>
</semantics>
</math></span><img src="./84fc0d550f25107e125542bfe2577da828d8ebd0.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -9.005ex; width:62.139ex; height:19.176ex;" alt="{\displaystyle {\begin{bmatrix}{\boldsymbol {\alpha }}_{1}^{-1}&amp;-\mathbf {G} _{12}&amp;-\mathbf {G} _{13}&amp;\cdots &amp;-\mathbf {G} _{1N}\\-\mathbf {G} _{21}&amp;{\boldsymbol {\alpha }}_{2}^{-1}&amp;-\mathbf {G} _{23}&amp;\cdots &amp;-\mathbf {G} _{2N}\\-\mathbf {G} _{31}&amp;-\mathbf {G} _{32}&amp;{\boldsymbol {\alpha }}_{3}^{-1}&amp;\cdots &amp;-\mathbf {G} _{3N}\\\vdots &amp;\vdots &amp;\vdots &amp;\ddots &amp;\vdots \\-\mathbf {G} _{N1}&amp;-\mathbf {G} _{N2}&amp;-\mathbf {G} _{N3}&amp;\cdots &amp;{\boldsymbol {\alpha }}_{N}^{-1}\end{bmatrix}}{\begin{bmatrix}\mathbf {P} _{1}\\\mathbf {P} _{2}\\\vdots \\\mathbf {P} _{N}\end{bmatrix}}={\begin{bmatrix}\mathbf {E} _{\mathrm {inc} ,1}\\\mathbf {E} _{\mathrm {inc} ,2}\\\vdots \\\mathbf {E} _{\mathrm {inc} ,N}\end{bmatrix}}}" loading="lazy"></span></dd></dl>
<p>Each block <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbf {A} _{jk}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">A</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>j</mi>
<mi>k</mi>
</mrow>
</msub>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \mathbf {A} _{jk}}</annotation>
</semantics>
</math></span><img src="./a3c4a0872ed58170220c2b892862732e84d9f11e.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.005ex; width:3.786ex; height:2.843ex;" alt="{\displaystyle \mathbf {A} _{jk}}" loading="lazy"></span> is a <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle 3\times 3}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mn>3</mn>
<mo>×<!-- × --></mo>
<mn>3</mn>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle 3\times 3}</annotation>
</semantics>
</math></span><img src="./ddc0d4d6106875f8006be1d898512ca5843bad8e.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:5.165ex; height:2.176ex;" alt="{\displaystyle 3\times 3}" loading="lazy"></span> complex matrix, defined by:
</p>
<dl><dd><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbf {A} _{jk}={\begin{cases}{\boldsymbol {\alpha }}_{j}^{-1}\in \mathbb {C} ^{3\times 3},&amp;{\text{if }}j=k\\-\mathbf {G} _{jk}\in \mathbb {C} ^{3\times 3},&amp;{\text{if }}j\neq k\end{cases}}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">A</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>j</mi>
<mi>k</mi>
</mrow>
</msub>
<mo>=</mo>
<mrow class="MJX-TeXAtom-ORD">
<mrow>
<mo>{</mo>
<mtable columnalign="left left" rowspacing=".2em" columnspacing="1em" displaystyle="false">
<mtr>
<mtd>
<msubsup>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold-italic">α<!-- α --></mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>j</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mo>−<!-- − --></mo>
<mn>1</mn>
</mrow>
</msubsup>
<mo>∈<!-- ∈ --></mo>
<msup>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="double-struck">C</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mn>3</mn>
<mo>×<!-- × --></mo>
<mn>3</mn>
</mrow>
</msup>
<mo>,</mo>
</mtd>
<mtd>
<mrow class="MJX-TeXAtom-ORD">
<mtext>if&nbsp;</mtext>
</mrow>
<mi>j</mi>
<mo>=</mo>
<mi>k</mi>
</mtd>
</mtr>
<mtr>
<mtd>
<mo>−<!-- − --></mo>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">G</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>j</mi>
<mi>k</mi>
</mrow>
</msub>
<mo>∈<!-- ∈ --></mo>
<msup>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="double-struck">C</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mn>3</mn>
<mo>×<!-- × --></mo>
<mn>3</mn>
</mrow>
</msup>
<mo>,</mo>
</mtd>
<mtd>
<mrow class="MJX-TeXAtom-ORD">
<mtext>if&nbsp;</mtext>
</mrow>
<mi>j</mi>
<mo>≠<!-- ≠ --></mo>
<mi>k</mi>
</mtd>
</mtr>
</mtable>
<mo fence="true" stretchy="true" symmetric="true"></mo>
</mrow>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \mathbf {A} _{jk}={\begin{cases}{\boldsymbol {\alpha }}_{j}^{-1}\in \mathbb {C} ^{3\times 3},&amp;{\text{if }}j=k\\-\mathbf {G} _{jk}\in \mathbb {C} ^{3\times 3},&amp;{\text{if }}j\neq k\end{cases}}}</annotation>
</semantics>
</math></span><img src="./f69233e0c8d8391db8e47dae888a30bb5c091269.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -3.171ex; width:33.034ex; height:7.509ex;" alt="{\displaystyle \mathbf {A} _{jk}={\begin{cases}{\boldsymbol {\alpha }}_{j}^{-1}\in \mathbb {C} ^{3\times 3},&amp;{\text{if }}j=k\\-\mathbf {G} _{jk}\in \mathbb {C} ^{3\times 3},&amp;{\text{if }}j\neq k\end{cases}}}" loading="lazy"></span></dd></dl>
<p>So <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbf {A} \in \mathbb {C} ^{3N\times 3N}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">A</mi>
</mrow>
<mo>∈<!-- ∈ --></mo>
<msup>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="double-struck">C</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mn>3</mn>
<mi>N</mi>
<mo>×<!-- × --></mo>
<mn>3</mn>
<mi>N</mi>
</mrow>
</msup>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \mathbf {A} \in \mathbb {C} ^{3N\times 3N}}</annotation>
</semantics>
</math></span><img src="./b654ea1b82d1b8ed0bd610a82521dd790733c07b.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:12.611ex; height:2.676ex;" alt="{\displaystyle \mathbf {A} \in \mathbb {C} ^{3N\times 3N}}" loading="lazy"></span> is composed of <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle N\times N}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>N</mi>
<mo>×<!-- × --></mo>
<mi>N</mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle N\times N}</annotation>
</semantics>
</math></span><img src="./99a86c5231bb3cbb863d9d428ebe9ac8db8d4ffb.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:6.968ex; height:2.176ex;" alt="{\displaystyle N\times N}" loading="lazy"></span> blocks, each of size <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle 3\times 3}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mn>3</mn>
<mo>×<!-- × --></mo>
<mn>3</mn>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle 3\times 3}</annotation>
</semantics>
</math></span><img src="./ddc0d4d6106875f8006be1d898512ca5843bad8e.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:5.165ex; height:2.176ex;" alt="{\displaystyle 3\times 3}" loading="lazy"></span>. <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle {\boldsymbol {\alpha }}_{j}^{-1}\in \mathbb {C} ^{3\times 3}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msubsup>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold-italic">α<!-- α --></mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>j</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mo>−<!-- − --></mo>
<mn>1</mn>
</mrow>
</msubsup>
<mo>∈<!-- ∈ --></mo>
<msup>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="double-struck">C</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mn>3</mn>
<mo>×<!-- × --></mo>
<mn>3</mn>
</mrow>
</msup>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle {\boldsymbol {\alpha }}_{j}^{-1}\in \mathbb {C} ^{3\times 3}}</annotation>
</semantics>
</math></span><img src="./f8ba3e8ce5dd35747afbf067553a3e3ae06d236d.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.338ex; width:11.775ex; height:3.676ex;" alt="{\displaystyle {\boldsymbol {\alpha }}_{j}^{-1}\in \mathbb {C} ^{3\times 3}}" loading="lazy"></span> is the inverse polarizability tensor, <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbf {G} _{jk}\in \mathbb {C} ^{3\times 3}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">G</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>j</mi>
<mi>k</mi>
</mrow>
</msub>
<mo>∈<!-- ∈ --></mo>
<msup>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="double-struck">C</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mn>3</mn>
<mo>×<!-- × --></mo>
<mn>3</mn>
</mrow>
</msup>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \mathbf {G} _{jk}\in \mathbb {C} ^{3\times 3}}</annotation>
</semantics>
</math></span><img src="./068258165887e877e8720c9632dbb87faf5f111c.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.005ex; width:11.54ex; height:3.343ex;" alt="{\displaystyle \mathbf {G} _{jk}\in \mathbb {C} ^{3\times 3}}" loading="lazy"></span> is the dyadic Green’s tensor for interaction between dipoles <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle j}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>j</mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle j}</annotation>
</semantics>
</math></span><img src="./2f461e54f5c093e92a55547b9764291390f0b5d0.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; margin-left: -0.027ex; width:0.985ex; height:2.509ex;" alt="{\displaystyle j}" loading="lazy"></span> and <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle k}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>k</mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle k}</annotation>
</semantics>
</math></span><img src="./c3c9a2c7b599b37105512c5d570edc034056dd40.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.211ex; height:2.176ex;" alt="{\displaystyle k}" loading="lazy"></span>, <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbf {P} _{j},\mathbf {E} _{\mathrm {inc} ,j}\in \mathbb {C} ^{3}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">P</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>j</mi>
</mrow>
</msub>
<mo>,</mo>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">E</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="normal">i</mi>
<mi mathvariant="normal">n</mi>
<mi mathvariant="normal">c</mi>
</mrow>
<mo>,</mo>
<mi>j</mi>
</mrow>
</msub>
<mo>∈<!-- ∈ --></mo>
<msup>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="double-struck">C</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mn>3</mn>
</mrow>
</msup>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \mathbf {P} _{j},\mathbf {E} _{\mathrm {inc} ,j}\in \mathbb {C} ^{3}}</annotation>
</semantics>
</math></span><img src="./c7169e7d349437d70219ecc9d595dc7cb8469f9f.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.005ex; width:14.569ex; height:3.343ex;" alt="{\displaystyle \mathbf {P} _{j},\mathbf {E} _{\mathrm {inc} ,j}\in \mathbb {C} ^{3}}" loading="lazy"></span> are the dipole polarization and incident electric field at dipole <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle j}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>j</mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle j}</annotation>
</semantics>
</math></span><img src="./2f461e54f5c093e92a55547b9764291390f0b5d0.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; margin-left: -0.027ex; width:0.985ex; height:2.509ex;" alt="{\displaystyle j}" loading="lazy"></span>, respectively.
</p><p>Typically dipoles are arranged on a regular grid. This implies translational invariance:
</p>
<dl><dd><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbf {G} _{jk}=\mathbf {G} (\mathbf {r} _{j}-\mathbf {r} _{k})=\mathbf {G} _{|j-k|}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">G</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>j</mi>
<mi>k</mi>
</mrow>
</msub>
<mo>=</mo>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">G</mi>
</mrow>
<mo stretchy="false">(</mo>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">r</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>j</mi>
</mrow>
</msub>
<mo>−<!-- − --></mo>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">r</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>k</mi>
</mrow>
</msub>
<mo stretchy="false">)</mo>
<mo>=</mo>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">G</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mrow class="MJX-TeXAtom-ORD">
<mo stretchy="false">|</mo>
</mrow>
<mi>j</mi>
<mo>−<!-- − --></mo>
<mi>k</mi>
<mrow class="MJX-TeXAtom-ORD">
<mo stretchy="false">|</mo>
</mrow>
</mrow>
</msub>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \mathbf {G} _{jk}=\mathbf {G} (\mathbf {r} _{j}-\mathbf {r} _{k})=\mathbf {G} _{|j-k|}}</annotation>
</semantics>
</math></span><img src="./92b5271e65d6fb2f7c30c03afbddef2ee9b433a2.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.171ex; width:27.077ex; height:3.176ex;" alt="{\displaystyle \mathbf {G} _{jk}=\mathbf {G} (\mathbf {r} _{j}-\mathbf {r} _{k})=\mathbf {G} _{|j-k|}}" loading="lazy"></span></dd></dl>
<p>Because <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbf {G} _{|j-k|}=\mathbf {G} _{|k-j|}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">G</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mrow class="MJX-TeXAtom-ORD">
<mo stretchy="false">|</mo>
</mrow>
<mi>j</mi>
<mo>−<!-- − --></mo>
<mi>k</mi>
<mrow class="MJX-TeXAtom-ORD">
<mo stretchy="false">|</mo>
</mrow>
</mrow>
</msub>
<mo>=</mo>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">G</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mrow class="MJX-TeXAtom-ORD">
<mo stretchy="false">|</mo>
</mrow>
<mi>k</mi>
<mo>−<!-- − --></mo>
<mi>j</mi>
<mrow class="MJX-TeXAtom-ORD">
<mo stretchy="false">|</mo>
</mrow>
</mrow>
</msub>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \mathbf {G} _{|j-k|}=\mathbf {G} _{|k-j|}}</annotation>
</semantics>
</math></span><img src="./9e6f4c7ec82218eac7a1d2ad119e3882c4182519.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.171ex; width:15.219ex; height:3.009ex;" alt="{\displaystyle \mathbf {G} _{|j-k|}=\mathbf {G} _{|k-j|}}" loading="lazy"></span>, the matrix <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbf {A} }">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">A</mi>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \mathbf {A} }</annotation>
</semantics>
</math></span><img src="./0795cc96c75d81520a120482662b90f024c9a1a1.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:2.019ex; height:2.176ex;" alt="{\displaystyle \mathbf {A} }" loading="lazy"></span> is symmetric:
</p>
<dl><dd><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbf {A} _{jk}=\mathbf {A} _{kj}\quad {\text{for all }}j,k}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">A</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>j</mi>
<mi>k</mi>
</mrow>
</msub>
<mo>=</mo>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">A</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>k</mi>
<mi>j</mi>
</mrow>
</msub>
<mspace width="1em"></mspace>
<mrow class="MJX-TeXAtom-ORD">
<mtext>for all&nbsp;</mtext>
</mrow>
<mi>j</mi>
<mo>,</mo>
<mi>k</mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \mathbf {A} _{jk}=\mathbf {A} _{kj}\quad {\text{for all }}j,k}</annotation>
</semantics>
</math></span><img src="./d693df2e796260582389c5608e6752eb98c4fb14.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.005ex; width:22.599ex; height:2.843ex;" alt="{\displaystyle \mathbf {A} _{jk}=\mathbf {A} _{kj}\quad {\text{for all }}j,k}" loading="lazy"></span></dd></dl>
<p>Each dipole has three vector components (<span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle x}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>x</mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle x}</annotation>
</semantics>
</math></span><img src="./87f9e315fd7e2ba406057a97300593c4802b53e4.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.33ex; height:1.676ex;" alt="{\displaystyle x}" loading="lazy"></span>, <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle y}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>y</mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle y}</annotation>
</semantics>
</math></span><img src="./b8a6208ec717213d4317e666f1ae872e00620a0d.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:1.155ex; height:2.009ex;" alt="{\displaystyle y}" loading="lazy"></span>, <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle z}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>z</mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle z}</annotation>
</semantics>
</math></span><img src="./bf368e72c009decd9b6686ee84a375632e11de98.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.088ex; height:1.676ex;" alt="{\displaystyle z}" loading="lazy"></span>), so we can rearrange the unknown vector <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbf {P} }">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">P</mi>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \mathbf {P} }</annotation>
</semantics>
</math></span><img src="./c0c250ef2a112c86b93c637dfa288c6d7f34ac3f.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.827ex; height:2.176ex;" alt="{\displaystyle \mathbf {P} }" loading="lazy"></span> by grouping all x-components together, then y-components, then z-components:
</p><p><br>
</p>
<dl><dd><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbf {P} ={\begin{bmatrix}\mathbf {P} _{x}\\\mathbf {P} _{y}\\\mathbf {P} _{z}\end{bmatrix}}\in \mathbb {C} ^{3N}\quad {\text{where}}\quad \mathbf {P} _{x}={\begin{bmatrix}P_{1x}\\P_{2x}\\\vdots \\P_{Nx}\end{bmatrix}},\quad \mathbf {P} _{y}={\begin{bmatrix}P_{1y}\\P_{2y}\\\vdots \\P_{Ny}\end{bmatrix}},\quad \mathbf {P} _{z}={\begin{bmatrix}P_{1z}\\P_{2z}\\\vdots \\P_{Nz}\end{bmatrix}}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">P</mi>
</mrow>
<mo>=</mo>
<mrow class="MJX-TeXAtom-ORD">
<mrow>
<mo>[</mo>
<mtable rowspacing="4pt" columnspacing="1em">
<mtr>
<mtd>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">P</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>x</mi>
</mrow>
</msub>
</mtd>
</mtr>
<mtr>
<mtd>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">P</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>y</mi>
</mrow>
</msub>
</mtd>
</mtr>
<mtr>
<mtd>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">P</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>z</mi>
</mrow>
</msub>
</mtd>
</mtr>
</mtable>
<mo>]</mo>
</mrow>
</mrow>
<mo>∈<!-- ∈ --></mo>
<msup>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="double-struck">C</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mn>3</mn>
<mi>N</mi>
</mrow>
</msup>
<mspace width="1em"></mspace>
<mrow class="MJX-TeXAtom-ORD">
<mtext>where</mtext>
</mrow>
<mspace width="1em"></mspace>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">P</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>x</mi>
</mrow>
</msub>
<mo>=</mo>
<mrow class="MJX-TeXAtom-ORD">
<mrow>
<mo>[</mo>
<mtable rowspacing="4pt" columnspacing="1em">
<mtr>
<mtd>
<msub>
<mi>P</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>1</mn>
<mi>x</mi>
</mrow>
</msub>
</mtd>
</mtr>
<mtr>
<mtd>
<msub>
<mi>P</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>2</mn>
<mi>x</mi>
</mrow>
</msub>
</mtd>
</mtr>
<mtr>
<mtd>
<mo>⋮<!-- ⋮ --></mo>
</mtd>
</mtr>
<mtr>
<mtd>
<msub>
<mi>P</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>N</mi>
<mi>x</mi>
</mrow>
</msub>
</mtd>
</mtr>
</mtable>
<mo>]</mo>
</mrow>
</mrow>
<mo>,</mo>
<mspace width="1em"></mspace>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">P</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>y</mi>
</mrow>
</msub>
<mo>=</mo>
<mrow class="MJX-TeXAtom-ORD">
<mrow>
<mo>[</mo>
<mtable rowspacing="4pt" columnspacing="1em">
<mtr>
<mtd>
<msub>
<mi>P</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>1</mn>
<mi>y</mi>
</mrow>
</msub>
</mtd>
</mtr>
<mtr>
<mtd>
<msub>
<mi>P</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>2</mn>
<mi>y</mi>
</mrow>
</msub>
</mtd>
</mtr>
<mtr>
<mtd>
<mo>⋮<!-- ⋮ --></mo>
</mtd>
</mtr>
<mtr>
<mtd>
<msub>
<mi>P</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>N</mi>
<mi>y</mi>
</mrow>
</msub>
</mtd>
</mtr>
</mtable>
<mo>]</mo>
</mrow>
</mrow>
<mo>,</mo>
<mspace width="1em"></mspace>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">P</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>z</mi>
</mrow>
</msub>
<mo>=</mo>
<mrow class="MJX-TeXAtom-ORD">
<mrow>
<mo>[</mo>
<mtable rowspacing="4pt" columnspacing="1em">
<mtr>
<mtd>
<msub>
<mi>P</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>1</mn>
<mi>z</mi>
</mrow>
</msub>
</mtd>
</mtr>
<mtr>
<mtd>
<msub>
<mi>P</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>2</mn>
<mi>z</mi>
</mrow>
</msub>
</mtd>
</mtr>
<mtr>
<mtd>
<mo>⋮<!-- ⋮ --></mo>
</mtd>
</mtr>
<mtr>
<mtd>
<msub>
<mi>P</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>N</mi>
<mi>z</mi>
</mrow>
</msub>
</mtd>
</mtr>
</mtable>
<mo>]</mo>
</mrow>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \mathbf {P} ={\begin{bmatrix}\mathbf {P} _{x}\\\mathbf {P} _{y}\\\mathbf {P} _{z}\end{bmatrix}}\in \mathbb {C} ^{3N}\quad {\text{where}}\quad \mathbf {P} _{x}={\begin{bmatrix}P_{1x}\\P_{2x}\\\vdots \\P_{Nx}\end{bmatrix}},\quad \mathbf {P} _{y}={\begin{bmatrix}P_{1y}\\P_{2y}\\\vdots \\P_{Ny}\end{bmatrix}},\quad \mathbf {P} _{z}={\begin{bmatrix}P_{1z}\\P_{2z}\\\vdots \\P_{Nz}\end{bmatrix}}}</annotation>
</semantics>
</math></span><img src="./5d934752564c05035af543c708a381e9c6d8f10a.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -6.671ex; width:77.747ex; height:14.509ex;" alt="{\displaystyle \mathbf {P} ={\begin{bmatrix}\mathbf {P} _{x}\\\mathbf {P} _{y}\\\mathbf {P} _{z}\end{bmatrix}}\in \mathbb {C} ^{3N}\quad {\text{where}}\quad \mathbf {P} _{x}={\begin{bmatrix}P_{1x}\\P_{2x}\\\vdots \\P_{Nx}\end{bmatrix}},\quad \mathbf {P} _{y}={\begin{bmatrix}P_{1y}\\P_{2y}\\\vdots \\P_{Ny}\end{bmatrix}},\quad \mathbf {P} _{z}={\begin{bmatrix}P_{1z}\\P_{2z}\\\vdots \\P_{Nz}\end{bmatrix}}}" loading="lazy"></span></dd></dl>
<p>Similarly, the incident field can be grouped as:
</p>
<dl><dd><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbf {E} _{\mathrm {inc} }={\begin{bmatrix}\mathbf {E} _{x}^{\mathrm {inc} }\\\mathbf {E} _{y}^{\mathrm {inc} }\\\mathbf {E} _{z}^{\mathrm {inc} }\end{bmatrix}}\in \mathbb {C} ^{3N}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">E</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="normal">i</mi>
<mi mathvariant="normal">n</mi>
<mi mathvariant="normal">c</mi>
</mrow>
</mrow>
</msub>
<mo>=</mo>
<mrow class="MJX-TeXAtom-ORD">
<mrow>
<mo>[</mo>
<mtable rowspacing="4pt" columnspacing="1em">
<mtr>
<mtd>
<msubsup>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">E</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>x</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="normal">i</mi>
<mi mathvariant="normal">n</mi>
<mi mathvariant="normal">c</mi>
</mrow>
</mrow>
</msubsup>
</mtd>
</mtr>
<mtr>
<mtd>
<msubsup>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">E</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>y</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="normal">i</mi>
<mi mathvariant="normal">n</mi>
<mi mathvariant="normal">c</mi>
</mrow>
</mrow>
</msubsup>
</mtd>
</mtr>
<mtr>
<mtd>
<msubsup>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">E</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>z</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="normal">i</mi>
<mi mathvariant="normal">n</mi>
<mi mathvariant="normal">c</mi>
</mrow>
</mrow>
</msubsup>
</mtd>
</mtr>
</mtable>
<mo>]</mo>
</mrow>
</mrow>
<mo>∈<!-- ∈ --></mo>
<msup>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="double-struck">C</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mn>3</mn>
<mi>N</mi>
</mrow>
</msup>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \mathbf {E} _{\mathrm {inc} }={\begin{bmatrix}\mathbf {E} _{x}^{\mathrm {inc} }\\\mathbf {E} _{y}^{\mathrm {inc} }\\\mathbf {E} _{z}^{\mathrm {inc} }\end{bmatrix}}\in \mathbb {C} ^{3N}}</annotation>
</semantics>
</math></span><img src="./f57819d5a854abb932730385cd967c21d9759f2e.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -4.47ex; margin-bottom: -0.201ex; width:22.164ex; height:10.509ex;" alt="{\displaystyle \mathbf {E} _{\mathrm {inc} }={\begin{bmatrix}\mathbf {E} _{x}^{\mathrm {inc} }\\\mathbf {E} _{y}^{\mathrm {inc} }\\\mathbf {E} _{z}^{\mathrm {inc} }\end{bmatrix}}\in \mathbb {C} ^{3N}}" loading="lazy"></span></dd></dl>
<p><br>
Because the system is linear, we can equivalently rewrite it in block matrix form, that describe how the <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \beta }">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>β<!-- β --></mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \beta }</annotation>
</semantics>
</math></span><img src="./7ed48a5e36207156fb792fa79d29925d2f7901e8.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:1.332ex; height:2.509ex;" alt="{\displaystyle \beta }" loading="lazy"></span>-component of polarization affects the <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \alpha }">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>α<!-- α --></mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \alpha }</annotation>
</semantics>
</math></span><img src="./b79333175c8b3f0840bfb4ec41b8072c83ea88d3.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.488ex; height:1.676ex;" alt="{\displaystyle \alpha }" loading="lazy"></span>-component of the resulting field:
</p><p><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle {\begin{bmatrix}\mathbf {A} _{xx}&amp;\mathbf {A} _{xy}&amp;\mathbf {A} _{xz}\\\mathbf {A} _{yx}&amp;\mathbf {A} _{yy}&amp;\mathbf {A} _{yz}\\\mathbf {A} _{zx}&amp;\mathbf {A} _{zy}&amp;\mathbf {A} _{zz}\end{bmatrix}}{\begin{bmatrix}\mathbf {P} _{x}\\\mathbf {P} _{y}\\\mathbf {P} _{z}\end{bmatrix}}={\begin{bmatrix}\mathbf {E} _{x}^{\mathrm {inc} }\\\mathbf {E} _{y}^{\mathrm {inc} }\\\mathbf {E} _{z}^{\mathrm {inc} }\end{bmatrix}}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mrow class="MJX-TeXAtom-ORD">
<mrow>
<mo>[</mo>
<mtable rowspacing="4pt" columnspacing="1em">
<mtr>
<mtd>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">A</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>x</mi>
<mi>x</mi>
</mrow>
</msub>
</mtd>
<mtd>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">A</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>x</mi>
<mi>y</mi>
</mrow>
</msub>
</mtd>
<mtd>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">A</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>x</mi>
<mi>z</mi>
</mrow>
</msub>
</mtd>
</mtr>
<mtr>
<mtd>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">A</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>y</mi>
<mi>x</mi>
</mrow>
</msub>
</mtd>
<mtd>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">A</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>y</mi>
<mi>y</mi>
</mrow>
</msub>
</mtd>
<mtd>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">A</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>y</mi>
<mi>z</mi>
</mrow>
</msub>
</mtd>
</mtr>
<mtr>
<mtd>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">A</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>z</mi>
<mi>x</mi>
</mrow>
</msub>
</mtd>
<mtd>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">A</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>z</mi>
<mi>y</mi>
</mrow>
</msub>
</mtd>
<mtd>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">A</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>z</mi>
<mi>z</mi>
</mrow>
</msub>
</mtd>
</mtr>
</mtable>
<mo>]</mo>
</mrow>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mrow>
<mo>[</mo>
<mtable rowspacing="4pt" columnspacing="1em">
<mtr>
<mtd>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">P</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>x</mi>
</mrow>
</msub>
</mtd>
</mtr>
<mtr>
<mtd>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">P</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>y</mi>
</mrow>
</msub>
</mtd>
</mtr>
<mtr>
<mtd>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">P</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>z</mi>
</mrow>
</msub>
</mtd>
</mtr>
</mtable>
<mo>]</mo>
</mrow>
</mrow>
<mo>=</mo>
<mrow class="MJX-TeXAtom-ORD">
<mrow>
<mo>[</mo>
<mtable rowspacing="4pt" columnspacing="1em">
<mtr>
<mtd>
<msubsup>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">E</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>x</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="normal">i</mi>
<mi mathvariant="normal">n</mi>
<mi mathvariant="normal">c</mi>
</mrow>
</mrow>
</msubsup>
</mtd>
</mtr>
<mtr>
<mtd>
<msubsup>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">E</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>y</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="normal">i</mi>
<mi mathvariant="normal">n</mi>
<mi mathvariant="normal">c</mi>
</mrow>
</mrow>
</msubsup>
</mtd>
</mtr>
<mtr>
<mtd>
<msubsup>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">E</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>z</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="normal">i</mi>
<mi mathvariant="normal">n</mi>
<mi mathvariant="normal">c</mi>
</mrow>
</mrow>
</msubsup>
</mtd>
</mtr>
</mtable>
<mo>]</mo>
</mrow>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle {\begin{bmatrix}\mathbf {A} _{xx}&amp;\mathbf {A} _{xy}&amp;\mathbf {A} _{xz}\\\mathbf {A} _{yx}&amp;\mathbf {A} _{yy}&amp;\mathbf {A} _{yz}\\\mathbf {A} _{zx}&amp;\mathbf {A} _{zy}&amp;\mathbf {A} _{zz}\end{bmatrix}}{\begin{bmatrix}\mathbf {P} _{x}\\\mathbf {P} _{y}\\\mathbf {P} _{z}\end{bmatrix}}={\begin{bmatrix}\mathbf {E} _{x}^{\mathrm {inc} }\\\mathbf {E} _{y}^{\mathrm {inc} }\\\mathbf {E} _{z}^{\mathrm {inc} }\end{bmatrix}}}</annotation>
</semantics>
</math></span><img src="./781ddbf876e83d0a28db7959a37b384843a8c332.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -4.47ex; margin-bottom: -0.201ex; width:38.493ex; height:10.509ex;" alt="{\displaystyle {\begin{bmatrix}\mathbf {A} _{xx}&amp;\mathbf {A} _{xy}&amp;\mathbf {A} _{xz}\\\mathbf {A} _{yx}&amp;\mathbf {A} _{yy}&amp;\mathbf {A} _{yz}\\\mathbf {A} _{zx}&amp;\mathbf {A} _{zy}&amp;\mathbf {A} _{zz}\end{bmatrix}}{\begin{bmatrix}\mathbf {P} _{x}\\\mathbf {P} _{y}\\\mathbf {P} _{z}\end{bmatrix}}={\begin{bmatrix}\mathbf {E} _{x}^{\mathrm {inc} }\\\mathbf {E} _{y}^{\mathrm {inc} }\\\mathbf {E} _{z}^{\mathrm {inc} }\end{bmatrix}}}" loading="lazy"></span>
</p><p>The expanded form of the equations is:
</p><p><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle {\begin{aligned}-\mathbf {G} _{xx}\mathbf {P} _{x}-\mathbf {G} _{xy}\mathbf {P} _{y}-\mathbf {G} _{xz}\mathbf {P} _{z}+({\boldsymbol {\alpha }}^{-1}\mathbf {P} )_{x}&amp;=\mathbf {E} _{x}^{\mathrm {inc} }\\-\mathbf {G} _{yx}\mathbf {P} _{x}-\mathbf {G} _{yy}\mathbf {P} _{y}-\mathbf {G} _{yz}\mathbf {P} _{z}+({\boldsymbol {\alpha }}^{-1}\mathbf {P} )_{y}&amp;=\mathbf {E} _{y}^{\mathrm {inc} }\\-\mathbf {G} _{zx}\mathbf {P} _{x}-\mathbf {G} _{zy}\mathbf {P} _{y}-\mathbf {G} _{zz}\mathbf {P} _{z}+({\boldsymbol {\alpha }}^{-1}\mathbf {P} )_{z}&amp;=\mathbf {E} _{z}^{\mathrm {inc} }\end{aligned}}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mrow class="MJX-TeXAtom-ORD">
<mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true">
<mtr>
<mtd>
<mo>−<!-- − --></mo>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">G</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>x</mi>
<mi>x</mi>
</mrow>
</msub>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">P</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>x</mi>
</mrow>
</msub>
<mo>−<!-- − --></mo>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">G</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>x</mi>
<mi>y</mi>
</mrow>
</msub>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">P</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>y</mi>
</mrow>
</msub>
<mo>−<!-- − --></mo>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">G</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>x</mi>
<mi>z</mi>
</mrow>
</msub>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">P</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>z</mi>
</mrow>
</msub>
<mo>+</mo>
<mo stretchy="false">(</mo>
<msup>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold-italic">α<!-- α --></mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mo>−<!-- − --></mo>
<mn>1</mn>
</mrow>
</msup>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">P</mi>
</mrow>
<msub>
<mo stretchy="false">)</mo>
<mrow class="MJX-TeXAtom-ORD">
<mi>x</mi>
</mrow>
</msub>
</mtd>
<mtd>
<mi></mi>
<mo>=</mo>
<msubsup>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">E</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>x</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="normal">i</mi>
<mi mathvariant="normal">n</mi>
<mi mathvariant="normal">c</mi>
</mrow>
</mrow>
</msubsup>
</mtd>
</mtr>
<mtr>
<mtd>
<mo>−<!-- − --></mo>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">G</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>y</mi>
<mi>x</mi>
</mrow>
</msub>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">P</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>x</mi>
</mrow>
</msub>
<mo>−<!-- − --></mo>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">G</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>y</mi>
<mi>y</mi>
</mrow>
</msub>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">P</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>y</mi>
</mrow>
</msub>
<mo>−<!-- − --></mo>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">G</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>y</mi>
<mi>z</mi>
</mrow>
</msub>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">P</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>z</mi>
</mrow>
</msub>
<mo>+</mo>
<mo stretchy="false">(</mo>
<msup>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold-italic">α<!-- α --></mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mo>−<!-- − --></mo>
<mn>1</mn>
</mrow>
</msup>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">P</mi>
</mrow>
<msub>
<mo stretchy="false">)</mo>
<mrow class="MJX-TeXAtom-ORD">
<mi>y</mi>
</mrow>
</msub>
</mtd>
<mtd>
<mi></mi>
<mo>=</mo>
<msubsup>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">E</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>y</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="normal">i</mi>
<mi mathvariant="normal">n</mi>
<mi mathvariant="normal">c</mi>
</mrow>
</mrow>
</msubsup>
</mtd>
</mtr>
<mtr>
<mtd>
<mo>−<!-- − --></mo>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">G</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>z</mi>
<mi>x</mi>
</mrow>
</msub>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">P</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>x</mi>
</mrow>
</msub>
<mo>−<!-- − --></mo>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">G</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>z</mi>
<mi>y</mi>
</mrow>
</msub>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">P</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>y</mi>
</mrow>
</msub>
<mo>−<!-- − --></mo>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">G</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>z</mi>
<mi>z</mi>
</mrow>
</msub>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">P</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>z</mi>
</mrow>
</msub>
<mo>+</mo>
<mo stretchy="false">(</mo>
<msup>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold-italic">α<!-- α --></mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mo>−<!-- − --></mo>
<mn>1</mn>
</mrow>
</msup>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">P</mi>
</mrow>
<msub>
<mo stretchy="false">)</mo>
<mrow class="MJX-TeXAtom-ORD">
<mi>z</mi>
</mrow>
</msub>
</mtd>
<mtd>
<mi></mi>
<mo>=</mo>
<msubsup>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">E</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>z</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="normal">i</mi>
<mi mathvariant="normal">n</mi>
<mi mathvariant="normal">c</mi>
</mrow>
</mrow>
</msubsup>
</mtd>
</mtr>
</mtable>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle {\begin{aligned}-\mathbf {G} _{xx}\mathbf {P} _{x}-\mathbf {G} _{xy}\mathbf {P} _{y}-\mathbf {G} _{xz}\mathbf {P} _{z}+({\boldsymbol {\alpha }}^{-1}\mathbf {P} )_{x}&amp;=\mathbf {E} _{x}^{\mathrm {inc} }\\-\mathbf {G} _{yx}\mathbf {P} _{x}-\mathbf {G} _{yy}\mathbf {P} _{y}-\mathbf {G} _{yz}\mathbf {P} _{z}+({\boldsymbol {\alpha }}^{-1}\mathbf {P} )_{y}&amp;=\mathbf {E} _{y}^{\mathrm {inc} }\\-\mathbf {G} _{zx}\mathbf {P} _{x}-\mathbf {G} _{zy}\mathbf {P} _{y}-\mathbf {G} _{zz}\mathbf {P} _{z}+({\boldsymbol {\alpha }}^{-1}\mathbf {P} )_{z}&amp;=\mathbf {E} _{z}^{\mathrm {inc} }\end{aligned}}}</annotation>
</semantics>
</math></span><img src="./c1d969a53c1a78f9b8c7fbd490cce134c9ae5743.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -4.341ex; margin-bottom: -0.331ex; width:48.23ex; height:10.509ex;" alt="{\displaystyle {\begin{aligned}-\mathbf {G} _{xx}\mathbf {P} _{x}-\mathbf {G} _{xy}\mathbf {P} _{y}-\mathbf {G} _{xz}\mathbf {P} _{z}+({\boldsymbol {\alpha }}^{-1}\mathbf {P} )_{x}&amp;=\mathbf {E} _{x}^{\mathrm {inc} }\\-\mathbf {G} _{yx}\mathbf {P} _{x}-\mathbf {G} _{yy}\mathbf {P} _{y}-\mathbf {G} _{yz}\mathbf {P} _{z}+({\boldsymbol {\alpha }}^{-1}\mathbf {P} )_{y}&amp;=\mathbf {E} _{y}^{\mathrm {inc} }\\-\mathbf {G} _{zx}\mathbf {P} _{x}-\mathbf {G} _{zy}\mathbf {P} _{y}-\mathbf {G} _{zz}\mathbf {P} _{z}+({\boldsymbol {\alpha }}^{-1}\mathbf {P} )_{z}&amp;=\mathbf {E} _{z}^{\mathrm {inc} }\end{aligned}}}" loading="lazy"></span>
</p><p>Each block <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbf {G} _{ij}\in \mathbb {C} ^{N\times N}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">G</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>i</mi>
<mi>j</mi>
</mrow>
</msub>
<mo>∈<!-- ∈ --></mo>
<msup>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="double-struck">C</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>N</mi>
<mo>×<!-- × --></mo>
<mi>N</mi>
</mrow>
</msup>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \mathbf {G} _{ij}\in \mathbb {C} ^{N\times N}}</annotation>
</semantics>
</math></span><img src="./d99d055ff6c7f6819ca98044de7f7cd29ada0a59.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.005ex; width:12.526ex; height:3.343ex;" alt="{\displaystyle \mathbf {G} _{ij}\in \mathbb {C} ^{N\times N}}" loading="lazy"></span> and the total system size is <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle 3N\times 3N}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mn>3</mn>
<mi>N</mi>
<mo>×<!-- × --></mo>
<mn>3</mn>
<mi>N</mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle 3N\times 3N}</annotation>
</semantics>
</math></span><img src="./43c8eaa59b4e8cc2d17cc7f193f5d68a6b437024.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:9.293ex; height:2.176ex;" alt="{\displaystyle 3N\times 3N}" loading="lazy"></span>. The interaction matrix <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbf {G} \in \mathbb {C} ^{3N\times 3N}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">G</mi>
</mrow>
<mo>∈<!-- ∈ --></mo>
<msup>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="double-struck">C</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mn>3</mn>
<mi>N</mi>
<mo>×<!-- × --></mo>
<mn>3</mn>
<mi>N</mi>
</mrow>
</msup>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \mathbf {G} \in \mathbb {C} ^{3N\times 3N}}</annotation>
</semantics>
</math></span><img src="./5bdc22599ae11111445e3d98047d8106b1da8235.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:12.693ex; height:2.676ex;" alt="{\displaystyle \mathbf {G} \in \mathbb {C} ^{3N\times 3N}}" loading="lazy"></span> is composed of 9 blocks:
<span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbf {G} _{xx},\mathbf {G} _{xy},\mathbf {G} _{xz},\mathbf {G} _{yx},\mathbf {G} _{yy},\mathbf {G} _{yz},\mathbf {G} _{zx},\mathbf {G} _{zy},\mathbf {G} _{zz}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">G</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>x</mi>
<mi>x</mi>
</mrow>
</msub>
<mo>,</mo>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">G</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>x</mi>
<mi>y</mi>
</mrow>
</msub>
<mo>,</mo>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">G</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>x</mi>
<mi>z</mi>
</mrow>
</msub>
<mo>,</mo>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">G</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>y</mi>
<mi>x</mi>
</mrow>
</msub>
<mo>,</mo>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">G</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>y</mi>
<mi>y</mi>
</mrow>
</msub>
<mo>,</mo>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">G</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>y</mi>
<mi>z</mi>
</mrow>
</msub>
<mo>,</mo>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">G</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>z</mi>
<mi>x</mi>
</mrow>
</msub>
<mo>,</mo>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">G</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>z</mi>
<mi>y</mi>
</mrow>
</msub>
<mo>,</mo>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">G</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>z</mi>
<mi>z</mi>
</mrow>
</msub>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \mathbf {G} _{xx},\mathbf {G} _{xy},\mathbf {G} _{xz},\mathbf {G} _{yx},\mathbf {G} _{yy},\mathbf {G} _{yz},\mathbf {G} _{zx},\mathbf {G} _{zy},\mathbf {G} _{zz}}</annotation>
</semantics>
</math></span><img src="./4217f759eae82f92972f9dfc31aa96c0df877439.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.005ex; width:44.429ex; height:2.843ex;" alt="{\displaystyle \mathbf {G} _{xx},\mathbf {G} _{xy},\mathbf {G} _{xz},\mathbf {G} _{yx},\mathbf {G} _{yy},\mathbf {G} _{yz},\mathbf {G} _{zx},\mathbf {G} _{zy},\mathbf {G} _{zz}}" loading="lazy"></span> (only 6 of them need to be evaluated due to symmetry).
Each matrix-vector multiplication <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbf {G} _{\alpha \beta }\mathbf {P} _{\beta }}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">G</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>α<!-- α --></mi>
<mi>β<!-- β --></mi>
</mrow>
</msub>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">P</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>β<!-- β --></mi>
</mrow>
</msub>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \mathbf {G} _{\alpha \beta }\mathbf {P} _{\beta }}</annotation>
</semantics>
</math></span><img src="./a40c7a9e924220ec27035db5380ac273c3d14c03.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.005ex; width:7.328ex; height:2.843ex;" alt="{\displaystyle \mathbf {G} _{\alpha \beta }\mathbf {P} _{\beta }}" loading="lazy"></span> can be computed as a convolution when the dipoles are arranged on a regular grid, allowing the use of Fast Fourier Transforms (FFTs) to accelerate the solution.
</p><p>Let <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle {\boldsymbol {\beta }}_{j}={\boldsymbol {\alpha }}_{j}^{-1}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold-italic">β<!-- β --></mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>j</mi>
</mrow>
</msub>
<mo>=</mo>
<msubsup>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold-italic">α<!-- α --></mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>j</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mo>−<!-- − --></mo>
<mn>1</mn>
</mrow>
</msubsup>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle {\boldsymbol {\beta }}_{j}={\boldsymbol {\alpha }}_{j}^{-1}}</annotation>
</semantics>
</math></span><img src="./02af206050c42932c51561bb47ee13e4df4aa1fa.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.338ex; width:9.644ex; height:3.676ex;" alt="{\displaystyle {\boldsymbol {\beta }}_{j}={\boldsymbol {\alpha }}_{j}^{-1}}" loading="lazy"></span> denote the inverse polarizability tensor for dipole <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle j}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>j</mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle j}</annotation>
</semantics>
</math></span><img src="./2f461e54f5c093e92a55547b9764291390f0b5d0.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; margin-left: -0.027ex; width:0.985ex; height:2.509ex;" alt="{\displaystyle j}" loading="lazy"></span>. Each <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle {\boldsymbol {\beta }}_{j}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold-italic">β<!-- β --></mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>j</mi>
</mrow>
</msub>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle {\boldsymbol {\beta }}_{j}}</annotation>
</semantics>
</math></span><img src="./42a14eb92be02addb4d056166a60cc0bf3e471b8.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.171ex; width:2.444ex; height:3.009ex;" alt="{\displaystyle {\boldsymbol {\beta }}_{j}}" loading="lazy"></span> is a complex-valued <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle 3\times 3}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mn>3</mn>
<mo>×<!-- × --></mo>
<mn>3</mn>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle 3\times 3}</annotation>
</semantics>
</math></span><img src="./ddc0d4d6106875f8006be1d898512ca5843bad8e.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:5.165ex; height:2.176ex;" alt="{\displaystyle 3\times 3}" loading="lazy"></span> matrix. This gives:
</p><p><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle ({\boldsymbol {\beta }}\mathbf {P} )_{x}=\mathrm {diag} (\beta _{1,xx},\dots ,\beta _{N,xx})\,\mathbf {P} _{x}+\mathrm {diag} (\beta _{1,xy},\dots ,\beta _{N,xy})\,\mathbf {P} _{y}+\mathrm {diag} (\beta _{1,xz},\dots ,\beta _{N,xz})\,\mathbf {P} _{z}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mo stretchy="false">(</mo>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold-italic">β<!-- β --></mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">P</mi>
</mrow>
<msub>
<mo stretchy="false">)</mo>
<mrow class="MJX-TeXAtom-ORD">
<mi>x</mi>
</mrow>
</msub>
<mo>=</mo>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="normal">d</mi>
<mi mathvariant="normal">i</mi>
<mi mathvariant="normal">a</mi>
<mi mathvariant="normal">g</mi>
</mrow>
<mo stretchy="false">(</mo>
<msub>
<mi>β<!-- β --></mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>1</mn>
<mo>,</mo>
<mi>x</mi>
<mi>x</mi>
</mrow>
</msub>
<mo>,</mo>
<mo>…<!-- … --></mo>
<mo>,</mo>
<msub>
<mi>β<!-- β --></mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>N</mi>
<mo>,</mo>
<mi>x</mi>
<mi>x</mi>
</mrow>
</msub>
<mo stretchy="false">)</mo>
<mspace width="thinmathspace"></mspace>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">P</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>x</mi>
</mrow>
</msub>
<mo>+</mo>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="normal">d</mi>
<mi mathvariant="normal">i</mi>
<mi mathvariant="normal">a</mi>
<mi mathvariant="normal">g</mi>
</mrow>
<mo stretchy="false">(</mo>
<msub>
<mi>β<!-- β --></mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>1</mn>
<mo>,</mo>
<mi>x</mi>
<mi>y</mi>
</mrow>
</msub>
<mo>,</mo>
<mo>…<!-- … --></mo>
<mo>,</mo>
<msub>
<mi>β<!-- β --></mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>N</mi>
<mo>,</mo>
<mi>x</mi>
<mi>y</mi>
</mrow>
</msub>
<mo stretchy="false">)</mo>
<mspace width="thinmathspace"></mspace>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">P</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>y</mi>
</mrow>
</msub>
<mo>+</mo>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="normal">d</mi>
<mi mathvariant="normal">i</mi>
<mi mathvariant="normal">a</mi>
<mi mathvariant="normal">g</mi>
</mrow>
<mo stretchy="false">(</mo>
<msub>
<mi>β<!-- β --></mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>1</mn>
<mo>,</mo>
<mi>x</mi>
<mi>z</mi>
</mrow>
</msub>
<mo>,</mo>
<mo>…<!-- … --></mo>
<mo>,</mo>
<msub>
<mi>β<!-- β --></mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>N</mi>
<mo>,</mo>
<mi>x</mi>
<mi>z</mi>
</mrow>
</msub>
<mo stretchy="false">)</mo>
<mspace width="thinmathspace"></mspace>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">P</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>z</mi>
</mrow>
</msub>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle ({\boldsymbol {\beta }}\mathbf {P} )_{x}=\mathrm {diag} (\beta _{1,xx},\dots ,\beta _{N,xx})\,\mathbf {P} _{x}+\mathrm {diag} (\beta _{1,xy},\dots ,\beta _{N,xy})\,\mathbf {P} _{y}+\mathrm {diag} (\beta _{1,xz},\dots ,\beta _{N,xz})\,\mathbf {P} _{z}}</annotation>
</semantics>
</math></span><img src="./339f40753234884b9e829dbaceef98fd3144af8f.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.005ex; width:88.313ex; height:3.009ex;" alt="{\displaystyle ({\boldsymbol {\beta }}\mathbf {P} )_{x}=\mathrm {diag} (\beta _{1,xx},\dots ,\beta _{N,xx})\,\mathbf {P} _{x}+\mathrm {diag} (\beta _{1,xy},\dots ,\beta _{N,xy})\,\mathbf {P} _{y}+\mathrm {diag} (\beta _{1,xz},\dots ,\beta _{N,xz})\,\mathbf {P} _{z}}" loading="lazy"></span>
</p><p><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle ({\boldsymbol {\beta }}\mathbf {P} )_{y}=\mathrm {diag} (\beta _{1,yx},\dots ,\beta _{N,yx})\,\mathbf {P} _{x}+\mathrm {diag} (\beta _{1,yy},\dots ,\beta _{N,yy})\,\mathbf {P} _{y}+\mathrm {diag} (\beta _{1,yz},\dots ,\beta _{N,yz})\,\mathbf {P} _{z}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mo stretchy="false">(</mo>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold-italic">β<!-- β --></mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">P</mi>
</mrow>
<msub>
<mo stretchy="false">)</mo>
<mrow class="MJX-TeXAtom-ORD">
<mi>y</mi>
</mrow>
</msub>
<mo>=</mo>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="normal">d</mi>
<mi mathvariant="normal">i</mi>
<mi mathvariant="normal">a</mi>
<mi mathvariant="normal">g</mi>
</mrow>
<mo stretchy="false">(</mo>
<msub>
<mi>β<!-- β --></mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>1</mn>
<mo>,</mo>
<mi>y</mi>
<mi>x</mi>
</mrow>
</msub>
<mo>,</mo>
<mo>…<!-- … --></mo>
<mo>,</mo>
<msub>
<mi>β<!-- β --></mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>N</mi>
<mo>,</mo>
<mi>y</mi>
<mi>x</mi>
</mrow>
</msub>
<mo stretchy="false">)</mo>
<mspace width="thinmathspace"></mspace>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">P</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>x</mi>
</mrow>
</msub>
<mo>+</mo>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="normal">d</mi>
<mi mathvariant="normal">i</mi>
<mi mathvariant="normal">a</mi>
<mi mathvariant="normal">g</mi>
</mrow>
<mo stretchy="false">(</mo>
<msub>
<mi>β<!-- β --></mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>1</mn>
<mo>,</mo>
<mi>y</mi>
<mi>y</mi>
</mrow>
</msub>
<mo>,</mo>
<mo>…<!-- … --></mo>
<mo>,</mo>
<msub>
<mi>β<!-- β --></mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>N</mi>
<mo>,</mo>
<mi>y</mi>
<mi>y</mi>
</mrow>
</msub>
<mo stretchy="false">)</mo>
<mspace width="thinmathspace"></mspace>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">P</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>y</mi>
</mrow>
</msub>
<mo>+</mo>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="normal">d</mi>
<mi mathvariant="normal">i</mi>
<mi mathvariant="normal">a</mi>
<mi mathvariant="normal">g</mi>
</mrow>
<mo stretchy="false">(</mo>
<msub>
<mi>β<!-- β --></mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>1</mn>
<mo>,</mo>
<mi>y</mi>
<mi>z</mi>
</mrow>
</msub>
<mo>,</mo>
<mo>…<!-- … --></mo>
<mo>,</mo>
<msub>
<mi>β<!-- β --></mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>N</mi>
<mo>,</mo>
<mi>y</mi>
<mi>z</mi>
</mrow>
</msub>
<mo stretchy="false">)</mo>
<mspace width="thinmathspace"></mspace>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">P</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>z</mi>
</mrow>
</msub>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle ({\boldsymbol {\beta }}\mathbf {P} )_{y}=\mathrm {diag} (\beta _{1,yx},\dots ,\beta _{N,yx})\,\mathbf {P} _{x}+\mathrm {diag} (\beta _{1,yy},\dots ,\beta _{N,yy})\,\mathbf {P} _{y}+\mathrm {diag} (\beta _{1,yz},\dots ,\beta _{N,yz})\,\mathbf {P} _{z}}</annotation>
</semantics>
</math></span><img src="./a11bc846480033ae338243169941261ab3f4db88.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.005ex; width:87.451ex; height:3.009ex;" alt="{\displaystyle ({\boldsymbol {\beta }}\mathbf {P} )_{y}=\mathrm {diag} (\beta _{1,yx},\dots ,\beta _{N,yx})\,\mathbf {P} _{x}+\mathrm {diag} (\beta _{1,yy},\dots ,\beta _{N,yy})\,\mathbf {P} _{y}+\mathrm {diag} (\beta _{1,yz},\dots ,\beta _{N,yz})\,\mathbf {P} _{z}}" loading="lazy"></span>
</p><p><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle ({\boldsymbol {\beta }}\mathbf {P} )_{z}=\mathrm {diag} (\beta _{1,zx},\dots ,\beta _{N,zx})\,\mathbf {P} _{x}+\mathrm {diag} (\beta _{1,zy},\dots ,\beta _{N,zy})\,\mathbf {P} _{y}+\mathrm {diag} (\beta _{1,zz},\dots ,\beta _{N,zz})\,\mathbf {P} _{z}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mo stretchy="false">(</mo>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold-italic">β<!-- β --></mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">P</mi>
</mrow>
<msub>
<mo stretchy="false">)</mo>
<mrow class="MJX-TeXAtom-ORD">
<mi>z</mi>
</mrow>
</msub>
<mo>=</mo>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="normal">d</mi>
<mi mathvariant="normal">i</mi>
<mi mathvariant="normal">a</mi>
<mi mathvariant="normal">g</mi>
</mrow>
<mo stretchy="false">(</mo>
<msub>
<mi>β<!-- β --></mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>1</mn>
<mo>,</mo>
<mi>z</mi>
<mi>x</mi>
</mrow>
</msub>
<mo>,</mo>
<mo>…<!-- … --></mo>
<mo>,</mo>
<msub>
<mi>β<!-- β --></mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>N</mi>
<mo>,</mo>
<mi>z</mi>
<mi>x</mi>
</mrow>
</msub>
<mo stretchy="false">)</mo>
<mspace width="thinmathspace"></mspace>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">P</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>x</mi>
</mrow>
</msub>
<mo>+</mo>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="normal">d</mi>
<mi mathvariant="normal">i</mi>
<mi mathvariant="normal">a</mi>
<mi mathvariant="normal">g</mi>
</mrow>
<mo stretchy="false">(</mo>
<msub>
<mi>β<!-- β --></mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>1</mn>
<mo>,</mo>
<mi>z</mi>
<mi>y</mi>
</mrow>
</msub>
<mo>,</mo>
<mo>…<!-- … --></mo>
<mo>,</mo>
<msub>
<mi>β<!-- β --></mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>N</mi>
<mo>,</mo>
<mi>z</mi>
<mi>y</mi>
</mrow>
</msub>
<mo stretchy="false">)</mo>
<mspace width="thinmathspace"></mspace>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">P</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>y</mi>
</mrow>
</msub>
<mo>+</mo>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="normal">d</mi>
<mi mathvariant="normal">i</mi>
<mi mathvariant="normal">a</mi>
<mi mathvariant="normal">g</mi>
</mrow>
<mo stretchy="false">(</mo>
<msub>
<mi>β<!-- β --></mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>1</mn>
<mo>,</mo>
<mi>z</mi>
<mi>z</mi>
</mrow>
</msub>
<mo>,</mo>
<mo>…<!-- … --></mo>
<mo>,</mo>
<msub>
<mi>β<!-- β --></mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>N</mi>
<mo>,</mo>
<mi>z</mi>
<mi>z</mi>
</mrow>
</msub>
<mo stretchy="false">)</mo>
<mspace width="thinmathspace"></mspace>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">P</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>z</mi>
</mrow>
</msub>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle ({\boldsymbol {\beta }}\mathbf {P} )_{z}=\mathrm {diag} (\beta _{1,zx},\dots ,\beta _{N,zx})\,\mathbf {P} _{x}+\mathrm {diag} (\beta _{1,zy},\dots ,\beta _{N,zy})\,\mathbf {P} _{y}+\mathrm {diag} (\beta _{1,zz},\dots ,\beta _{N,zz})\,\mathbf {P} _{z}}</annotation>
</semantics>
</math></span><img src="./52d5cb3081a88520b811b1622fdd3447b3c1531a.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.005ex; width:87.117ex; height:3.009ex;" alt="{\displaystyle ({\boldsymbol {\beta }}\mathbf {P} )_{z}=\mathrm {diag} (\beta _{1,zx},\dots ,\beta _{N,zx})\,\mathbf {P} _{x}+\mathrm {diag} (\beta _{1,zy},\dots ,\beta _{N,zy})\,\mathbf {P} _{y}+\mathrm {diag} (\beta _{1,zz},\dots ,\beta _{N,zz})\,\mathbf {P} _{z}}" loading="lazy"></span>
</p><p>In the special case of an isotropic and homogeneous particle, the polarizabilities <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle {\boldsymbol {\alpha }}_{j}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold-italic">α<!-- α --></mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>j</mi>
</mrow>
</msub>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle {\boldsymbol {\alpha }}_{j}}</annotation>
</semantics>
</math></span><img src="./9f0838e683a340cd729f1b58ef1c7720784b5ae2.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.005ex; width:2.678ex; height:2.343ex;" alt="{\displaystyle {\boldsymbol {\alpha }}_{j}}" loading="lazy"></span> are identical for all dipoles and proportional to the identity matrix: <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle {\boldsymbol {\alpha }}_{j}=\alpha \,\mathbf {I} }">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold-italic">α<!-- α --></mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>j</mi>
</mrow>
</msub>
<mo>=</mo>
<mi>α<!-- α --></mi>
<mspace width="thinmathspace"></mspace>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">I</mi>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle {\boldsymbol {\alpha }}_{j}=\alpha \,\mathbf {I} }</annotation>
</semantics>
</math></span><img src="./560ec0af12670f9f8e1894742d77bab0d8d832e8.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.005ex; width:8.665ex; height:2.843ex;" alt="{\displaystyle {\boldsymbol {\alpha }}_{j}=\alpha \,\mathbf {I} }" loading="lazy"></span>. Then, the inverse becomes <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle {\boldsymbol {\beta }}_{j}=\alpha ^{-1}\,\mathbf {I} }">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold-italic">β<!-- β --></mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>j</mi>
</mrow>
</msub>
<mo>=</mo>
<msup>
<mi>α<!-- α --></mi>
<mrow class="MJX-TeXAtom-ORD">
<mo>−<!-- − --></mo>
<mn>1</mn>
</mrow>
</msup>
<mspace width="thinmathspace"></mspace>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">I</mi>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle {\boldsymbol {\beta }}_{j}=\alpha ^{-1}\,\mathbf {I} }</annotation>
</semantics>
</math></span><img src="./542b4bf12ede43ffb11b40c5e39ef3012a6ddbb9.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.171ex; width:10.764ex; height:3.509ex;" alt="{\displaystyle {\boldsymbol {\beta }}_{j}=\alpha ^{-1}\,\mathbf {I} }" loading="lazy"></span>, all off-diagonal elements vanish, and the expressions reduce to a simple element-wise division:
</p><p><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle ({\boldsymbol {\beta }}\mathbf {P} )={\frac {1}{\alpha }}\,\mathbf {P} }">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mo stretchy="false">(</mo>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold-italic">β<!-- β --></mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">P</mi>
</mrow>
<mo stretchy="false">)</mo>
<mo>=</mo>
<mrow class="MJX-TeXAtom-ORD">
<mfrac>
<mn>1</mn>
<mi>α<!-- α --></mi>
</mfrac>
</mrow>
<mspace width="thinmathspace"></mspace>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">P</mi>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle ({\boldsymbol {\beta }}\mathbf {P} )={\frac {1}{\alpha }}\,\mathbf {P} }</annotation>
</semantics>
</math></span><img src="./2c8fab1497844e4c6788e8ef18638b5dd60a6068.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.838ex; width:12.806ex; height:5.176ex;" alt="{\displaystyle ({\boldsymbol {\beta }}\mathbf {P} )={\frac {1}{\alpha }}\,\mathbf {P} }" loading="lazy"></span>
</p><p><br>
Note on practical implementation. In Fortran and MATLAB, arrays such as <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbf {P} (n_{x},n_{y},n_{z},3)}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">P</mi>
</mrow>
<mo stretchy="false">(</mo>
<msub>
<mi>n</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>x</mi>
</mrow>
</msub>
<mo>,</mo>
<msub>
<mi>n</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>y</mi>
</mrow>
</msub>
<mo>,</mo>
<msub>
<mi>n</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>z</mi>
</mrow>
</msub>
<mo>,</mo>
<mn>3</mn>
<mo stretchy="false">)</mo>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \mathbf {P} (n_{x},n_{y},n_{z},3)}</annotation>
</semantics>
</math></span><img src="./c4a947341ab8c5eb89365b874f44ba3ea140a4f0.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.005ex; width:15.308ex; height:3.009ex;" alt="{\displaystyle \mathbf {P} (n_{x},n_{y},n_{z},3)}" loading="lazy"></span> or <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbf {E} ^{\mathrm {inc} }(n_{x},n_{y},n_{z},3)}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msup>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">E</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="normal">i</mi>
<mi mathvariant="normal">n</mi>
<mi mathvariant="normal">c</mi>
</mrow>
</mrow>
</msup>
<mo stretchy="false">(</mo>
<msub>
<mi>n</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>x</mi>
</mrow>
</msub>
<mo>,</mo>
<msub>
<mi>n</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>y</mi>
</mrow>
</msub>
<mo>,</mo>
<msub>
<mi>n</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>z</mi>
</mrow>
</msub>
<mo>,</mo>
<mn>3</mn>
<mo stretchy="false">)</mo>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \mathbf {E} ^{\mathrm {inc} }(n_{x},n_{y},n_{z},3)}</annotation>
</semantics>
</math></span><img src="./6fcb4b7a1bd2a9433dd9741df5becaef7d39a7a6.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.005ex; width:17.572ex; height:3.343ex;" alt="{\displaystyle \mathbf {E} ^{\mathrm {inc} }(n_{x},n_{y},n_{z},3)}" loading="lazy"></span> are stored in column-major order, where the first index varies fastest in memory (anti-lexicographic). This means that all x-components <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbf {P} _{x}=\mathbf {P} (:,:,:,1)}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">P</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>x</mi>
</mrow>
</msub>
<mo>=</mo>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">P</mi>
</mrow>
<mo stretchy="false">(</mo>
<mo>:</mo>
<mo>,</mo>
<mo>:</mo>
<mo>,</mo>
<mo>:</mo>
<mo>,</mo>
<mn>1</mn>
<mo stretchy="false">)</mo>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \mathbf {P} _{x}=\mathbf {P} (:,:,:,1)}</annotation>
</semantics>
</math></span><img src="./b123681dc82c9c8663010f459a36b39e15e11e0b.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:15.938ex; height:2.843ex;" alt="{\displaystyle \mathbf {P} _{x}=\mathbf {P} (:,:,:,1)}" loading="lazy"></span> are contiguous in memory, followed by all y-components <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbf {P} _{y}=\mathbf {P} (:,:,:,2)}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">P</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>y</mi>
</mrow>
</msub>
<mo>=</mo>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">P</mi>
</mrow>
<mo stretchy="false">(</mo>
<mo>:</mo>
<mo>,</mo>
<mo>:</mo>
<mo>,</mo>
<mo>:</mo>
<mo>,</mo>
<mn>2</mn>
<mo stretchy="false">)</mo>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \mathbf {P} _{y}=\mathbf {P} (:,:,:,2)}</annotation>
</semantics>
</math></span><img src="./2f4a6cc45564b8873b880c23157d266320d89b82.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.005ex; width:15.815ex; height:3.009ex;" alt="{\displaystyle \mathbf {P} _{y}=\mathbf {P} (:,:,:,2)}" loading="lazy"></span>, and then all z-components <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbf {P} _{z}=\mathbf {P} (:,:,:,3)}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">P</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>z</mi>
</mrow>
</msub>
<mo>=</mo>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">P</mi>
</mrow>
<mo stretchy="false">(</mo>
<mo>:</mo>
<mo>,</mo>
<mo>:</mo>
<mo>,</mo>
<mo>:</mo>
<mo>,</mo>
<mn>3</mn>
<mo stretchy="false">)</mo>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \mathbf {P} _{z}=\mathbf {P} (:,:,:,3)}</annotation>
</semantics>
</math></span><img src="./9cde624330f05d65506e3e4da168c56f5a7ffdf5.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:15.768ex; height:2.843ex;" alt="{\displaystyle \mathbf {P} _{z}=\mathbf {P} (:,:,:,3)}" loading="lazy"></span>. In contrast, Python (NumPy) uses row-major order by default (lexicographic, last index varies fastest). To achieve the same contiguous layout of <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbf {P} _{x}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">P</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>x</mi>
</mrow>
</msub>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \mathbf {P} _{x}}</annotation>
</semantics>
</math></span><img src="./a435b447b1c2895cca26c393aced83fbe8cff001.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:2.999ex; height:2.509ex;" alt="{\displaystyle \mathbf {P} _{x}}" loading="lazy"></span>, <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbf {P} _{y}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">P</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>y</mi>
</mrow>
</msub>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \mathbf {P} _{y}}</annotation>
</semantics>
</math></span><img src="./a66416826a5dc416c684b806049d990fd8e4368d.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.005ex; width:2.876ex; height:2.843ex;" alt="{\displaystyle \mathbf {P} _{y}}" loading="lazy"></span>, <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbf {P} _{z}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">P</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>z</mi>
</mrow>
</msub>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \mathbf {P} _{z}}</annotation>
</semantics>
</math></span><img src="./1465633729955281bf9100a7ee3b496ab85f238b.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:2.828ex; height:2.509ex;" alt="{\displaystyle \mathbf {P} _{z}}" loading="lazy"></span> in memory, the array should be defined in Python as <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbf {P} (3,n_{x},n_{y},n_{z})}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">P</mi>
</mrow>
<mo stretchy="false">(</mo>
<mn>3</mn>
<mo>,</mo>
<msub>
<mi>n</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>x</mi>
</mrow>
</msub>
<mo>,</mo>
<msub>
<mi>n</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>y</mi>
</mrow>
</msub>
<mo>,</mo>
<msub>
<mi>n</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>z</mi>
</mrow>
</msub>
<mo stretchy="false">)</mo>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \mathbf {P} (3,n_{x},n_{y},n_{z})}</annotation>
</semantics>
</math></span><img src="./eae2794f09a48a7ac58b05080c87e35e4b376367.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.005ex; width:15.308ex; height:3.009ex;" alt="{\displaystyle \mathbf {P} (3,n_{x},n_{y},n_{z})}" loading="lazy"></span>, with the vector component index (x, y, z) first. This ensures that <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbf {P} _{x}=\mathbf {P} [0,:,:,:]}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">P</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>x</mi>
</mrow>
</msub>
<mo>=</mo>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">P</mi>
</mrow>
<mo stretchy="false">[</mo>
<mn>0</mn>
<mo>,</mo>
<mo>:</mo>
<mo>,</mo>
<mo>:</mo>
<mo>,</mo>
<mo>:</mo>
<mo stretchy="false">]</mo>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \mathbf {P} _{x}=\mathbf {P} [0,:,:,:]}</annotation>
</semantics>
</math></span><img src="./c7f7806f1aca8d20e87b1f68fe289e628c0ead91.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:15.423ex; height:2.843ex;" alt="{\displaystyle \mathbf {P} _{x}=\mathbf {P} [0,:,:,:]}" loading="lazy"></span> is stored contiguously in memory, followed by <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbf {P} _{y}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">P</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>y</mi>
</mrow>
</msub>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \mathbf {P} _{y}}</annotation>
</semantics>
</math></span><img src="./a66416826a5dc416c684b806049d990fd8e4368d.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.005ex; width:2.876ex; height:2.843ex;" alt="{\displaystyle \mathbf {P} _{y}}" loading="lazy"></span> and <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbf {P} _{z}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">P</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>z</mi>
</mrow>
</msub>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \mathbf {P} _{z}}</annotation>
</semantics>
</math></span><img src="./1465633729955281bf9100a7ee3b496ab85f238b.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:2.828ex; height:2.509ex;" alt="{\displaystyle \mathbf {P} _{z}}" loading="lazy"></span>.
</p><p><br>
</p>
<div class="mw-heading mw-heading2"><h2 id="Conjugate_gradient_iteration_schemes_and_preconditioning">Conjugate gradient iteration schemes and preconditioning</h2></div>
<p>The solution of the linear system <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbf {A} \cdot \mathbf {P} =\mathbf {E} ^{\mathrm {inc} }}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">A</mi>
</mrow>
<mo>⋅<!-- ⋅ --></mo>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">P</mi>
</mrow>
<mo>=</mo>
<msup>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">E</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="normal">i</mi>
<mi mathvariant="normal">n</mi>
<mi mathvariant="normal">c</mi>
</mrow>
</mrow>
</msup>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \mathbf {A} \cdot \mathbf {P} =\mathbf {E} ^{\mathrm {inc} }}</annotation>
</semantics>
</math></span><img src="./18fc1741ab23d7cdc96e88ef85450b1183ea1e8c.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:12.714ex; height:2.676ex;" alt="{\displaystyle \mathbf {A} \cdot \mathbf {P} =\mathbf {E} ^{\mathrm {inc} }}" loading="lazy"></span> in the DDA is typically performed using iterative methods. These methods aim to minimize the residual vector <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbf {r} =\mathbf {E} ^{\mathrm {inc} }-\mathbf {A} \cdot \mathbf {P} }">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">r</mi>
</mrow>
<mo>=</mo>
<msup>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">E</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="normal">i</mi>
<mi mathvariant="normal">n</mi>
<mi mathvariant="normal">c</mi>
</mrow>
</mrow>
</msup>
<mo>−<!-- − --></mo>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">A</mi>
</mrow>
<mo>⋅<!-- ⋅ --></mo>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">P</mi>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \mathbf {r} =\mathbf {E} ^{\mathrm {inc} }-\mathbf {A} \cdot \mathbf {P} }</annotation>
</semantics>
</math></span><img src="./5dcc19b8aa97ad7d398e59b150be497474aa09dc.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.505ex; width:16.657ex; height:2.843ex;" alt="{\displaystyle \mathbf {r} =\mathbf {E} ^{\mathrm {inc} }-\mathbf {A} \cdot \mathbf {P} }" loading="lazy"></span> through successive approximations of the polarization vector <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbf {P} }">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">P</mi>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \mathbf {P} }</annotation>
</semantics>
</math></span><img src="./c0c250ef2a112c86b93c637dfa288c6d7f34ac3f.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.827ex; height:2.176ex;" alt="{\displaystyle \mathbf {P} }" loading="lazy"></span>. Among the earliest implementations were those based on direct matrix inversion,<sup id="cite_ref-purcell1973_2-1" class="reference"><a href="#cite_note-purcell1973-2"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup> as well as the use of the conjugate gradient (CG) algorithm of Petravic and Kuo-Petravic.<sup id="cite_ref-Petravic1979_17-0" class="reference"><a href="#cite_note-Petravic1979-17"><span class="cite-bracket">[</span>17<span class="cite-bracket">]</span></a></sup> Subsequently, various conjugate gradient methods have been explored and improved for DDA applications.<sup id="cite_ref-chaumet2024_18-0" class="reference"><a href="#cite_note-chaumet2024-18"><span class="cite-bracket">[</span>18<span class="cite-bracket">]</span></a></sup> These methods are particularly well-suited for large systems because they require only the matrix-vector product <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbf {A} \cdot \mathbf {P} }">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">A</mi>
</mrow>
<mo>⋅<!-- ⋅ --></mo>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">P</mi>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \mathbf {A} \cdot \mathbf {P} }</annotation>
</semantics>
</math></span><img src="./b7601f2b126e38738edadb95d3f196370a5640f3.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:5.525ex; height:2.176ex;" alt="{\displaystyle \mathbf {A} \cdot \mathbf {P} }" loading="lazy"></span> and do not require storing the full matrix <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbf {A} }">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">A</mi>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \mathbf {A} }</annotation>
</semantics>
</math></span><img src="./0795cc96c75d81520a120482662b90f024c9a1a1.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:2.019ex; height:2.176ex;" alt="{\displaystyle \mathbf {A} }" loading="lazy"></span> explicitly.
</p><p>In practice, the dominant computational cost in DDA arises from the repeated evaluation of matrix-vector products during the iteration process. When the vector <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbf {P} }">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">P</mi>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \mathbf {P} }</annotation>
</semantics>
</math></span><img src="./c0c250ef2a112c86b93c637dfa288c6d7f34ac3f.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.827ex; height:2.176ex;" alt="{\displaystyle \mathbf {P} }" loading="lazy"></span> is stored in component-block form (as <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbf {P} _{x}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">P</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>x</mi>
</mrow>
</msub>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \mathbf {P} _{x}}</annotation>
</semantics>
</math></span><img src="./a435b447b1c2895cca26c393aced83fbe8cff001.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:2.999ex; height:2.509ex;" alt="{\displaystyle \mathbf {P} _{x}}" loading="lazy"></span>, <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbf {P} _{y}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">P</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>y</mi>
</mrow>
</msub>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \mathbf {P} _{y}}</annotation>
</semantics>
</math></span><img src="./a66416826a5dc416c684b806049d990fd8e4368d.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.005ex; width:2.876ex; height:2.843ex;" alt="{\displaystyle \mathbf {P} _{y}}" loading="lazy"></span>, <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbf {P} _{z}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">P</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>z</mi>
</mrow>
</msub>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \mathbf {P} _{z}}</annotation>
</semantics>
</math></span><img src="./1465633729955281bf9100a7ee3b496ab85f238b.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:2.828ex; height:2.509ex;" alt="{\displaystyle \mathbf {P} _{z}}" loading="lazy"></span>), the action of <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbf {A} }">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">A</mi>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \mathbf {A} }</annotation>
</semantics>
</math></span><img src="./0795cc96c75d81520a120482662b90f024c9a1a1.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:2.019ex; height:2.176ex;" alt="{\displaystyle \mathbf {A} }" loading="lazy"></span> reduces to evaluating nine sub-products of the form <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbf {A} _{\alpha \beta }\mathbf {P} _{\beta }}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">A</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>α<!-- α --></mi>
<mi>β<!-- β --></mi>
</mrow>
</msub>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">P</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>β<!-- β --></mi>
</mrow>
</msub>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \mathbf {A} _{\alpha \beta }\mathbf {P} _{\beta }}</annotation>
</semantics>
</math></span><img src="./342e9247be9811604c3d34d22a0ebb266177fe9f.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.005ex; width:7.246ex; height:2.843ex;" alt="{\displaystyle \mathbf {A} _{\alpha \beta }\mathbf {P} _{\beta }}" loading="lazy"></span>, where <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \alpha ,\beta \in \{x,y,z\}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>α<!-- α --></mi>
<mo>,</mo>
<mi>β<!-- β --></mi>
<mo>∈<!-- ∈ --></mo>
<mo fence="false" stretchy="false">{</mo>
<mi>x</mi>
<mo>,</mo>
<mi>y</mi>
<mo>,</mo>
<mi>z</mi>
<mo fence="false" stretchy="false">}</mo>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \alpha ,\beta \in \{x,y,z\}}</annotation>
</semantics>
</math></span><img src="./c575e7562bdabd6137dc0c4757e8747eae859116.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:14.66ex; height:2.843ex;" alt="{\displaystyle \alpha ,\beta \in \{x,y,z\}}" loading="lazy"></span>. These operations can be computed efficiently using convolution and FFT-based techniques when the dipole geometry is grid-based.
</p><p><br>
</p>
<div class="mw-heading mw-heading2"><h2 id="Fast_Fourier_Transform_for_fast_convolution_calculations">Fast Fourier Transform for fast convolution calculations</h2></div>
<p>The use of the Fast Fourier Transform (FFT) to accelerate convolution operations in the discrete dipole approximation (DDA) was introduced by Goodman, Draine, and Flatau in 1991<sup id="cite_ref-Goodman1991_19-0" class="reference"><a href="#cite_note-Goodman1991-19"><span class="cite-bracket">[</span>19<span class="cite-bracket">]</span></a></sup>. Their approach utilized a 3D FFT algorithm (GPFA) developed by Clive Temperton<sup id="cite_ref-Temperton1983_20-0" class="reference"><a href="#cite_note-Temperton1983-20"><span class="cite-bracket">[</span>20<span class="cite-bracket">]</span></a></sup>, and involved extending the interaction matrix to twice its original dimensions. This extension was accomplished by flipping and mirroring the Green’s function blocks to incorporate negative lags, allowing FFT-based convolution. The technique of sign-flipping and block extension became a foundational step in efficient implementations of DDA. A similar variant was adopted in the 2021 MATLAB implementation by Shabaninezhad and Ramakrishna<sup id="cite_ref-matlab2021_21-0" class="reference"><a href="#cite_note-matlab2021-21"><span class="cite-bracket">[</span>21<span class="cite-bracket">]</span></a></sup>.
Several variants have been proposed since then. In 2001, Barrowes, Teixeira, and Kong<sup id="cite_ref-Barrowes2001_22-0" class="reference"><a href="#cite_note-Barrowes2001-22"><span class="cite-bracket">[</span>22<span class="cite-bracket">]</span></a></sup> introduced a method based on block reordering, zero padding, and a reconstruction algorithm to minimize memory requirements. In 2009, McDonald, Golden, and Jennings<sup id="cite_ref-mcdonald2009_23-0" class="reference"><a href="#cite_note-mcdonald2009-23"><span class="cite-bracket">[</span>23<span class="cite-bracket">]</span></a></sup> proposed a different scheme utilizing sequences of 1D FFTs, extending the interaction matrix separately in the x, y, and z directions. They argued that their approach leads to reduced memory consumption.
More generally, advanced FFT-based convolution methods have been developed in the machine learning and numerical analysis communities, offering potential benefits for DDA solvers as well. These include FlashFFTConv<sup id="cite_ref-fu2023flashfftconv_24-0" class="reference"><a href="#cite_note-fu2023flashfftconv-24"><span class="cite-bracket">[</span>24<span class="cite-bracket">]</span></a></sup> and frequency-domain low-rank techniques<sup id="cite_ref-bowman2011efficient_25-0" class="reference"><a href="#cite_note-bowman2011efficient-25"><span class="cite-bracket">[</span>25<span class="cite-bracket">]</span></a></sup> that aim to reduce the computational burden of large-scale convolutions.
</p><p><br>
</p>
<div class="mw-heading mw-heading2"><h2 id="Thermal_discrete_dipole_approximation">Thermal discrete dipole approximation</h2></div>
<p>Thermal discrete dipole approximation is an extension of the original DDA to simulations of near-field heat transfer between 3D arbitrarily-shaped objects.<sup id="cite_ref-edalatpour2015_26-0" class="reference"><a href="#cite_note-edalatpour2015-26"><span class="cite-bracket">[</span>26<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-Moncada-Villa2022_27-0" class="reference"><a href="#cite_note-Moncada-Villa2022-27"><span class="cite-bracket">[</span>27<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading2"><h2 id="Discrete_dipole_approximation_codes">Discrete dipole approximation codes</h2></div>
<div role="note" class="hatnote navigation-not-searchable">Main article: <a href="Discrete_dipole_approximation_codes" title="Discrete dipole approximation codes">Discrete dipole approximation codes</a></div>
<p>Most of the codes apply to arbitrary-shaped inhomogeneous nonmagnetic particles and particle systems in free space or homogeneous dielectric host medium. The calculated quantities typically include the <a href="Mueller_calculus#Mueller_matrices" title="Mueller calculus">Mueller matrices</a>, <a href="Cross_section_(physics)#Scattering_of_light" title="Cross section (physics)">integral cross-sections</a> (extinction, absorption, and scattering), internal fields and angle-resolved scattered fields (phase function). There are some published comparisons of existing DDA codes.<sup id="cite_ref-penttila2007_14-1" class="reference"><a href="#cite_note-penttila2007-14"><span class="cite-bracket">[</span>14<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading2"><h2 id="Gallery_of_shapes">Gallery of shapes</h2></div>
<ul class="gallery mw-gallery-traditional">
<li class="gallerybox" style="width: 155px">
<div class="thumb" style="width: 150px; height: 150px;"><span typeof="mw:File"></span></div>
<div class="gallerytext">Scattering by periodic structures such as slabs, gratings, of periodic cubes placed on a surface, can be solved in the discrete dipole approximation.</div>
</li>
<li class="gallerybox" style="width: 155px">
<div class="thumb" style="width: 150px; height: 150px;"><span typeof="mw:File"></span></div>
<div class="gallerytext">Scattering by infinite object (such as cylinder) can be solved in the discrete dipole approximation.</div>
</li>
</ul>
<div class="mw-heading mw-heading2"><h2 id="See_also">See also</h2></div>
<ul><li><a href="Computational_electromagnetics" title="Computational electromagnetics">Computational electromagnetics</a></li>
<li><a href="Mie_theory" class="mw-redirect" title="Mie theory">Mie theory</a></li>
<li><a href="Finite-difference_time-domain_method" title="Finite-difference time-domain method">Finite-difference time-domain method</a></li>
<li><a href="Method_of_moments_(electromagnetics)" title="Method of moments (electromagnetics)">Method of moments (electromagnetics)</a></li></ul>
<div class="mw-heading mw-heading2"><h2 id="References">References</h2></div>
<style data-mw-deduplicate="TemplateStyles:r1239543626">
/* start https://en.wikipedia.org/ */


.mw-parser-output .reflist{margin-bottom:0.5em;list-style-type:decimal}@media screen{.mw-parser-output .reflist{font-size:90%}}.mw-parser-output .reflist .references{font-size:100%;margin-bottom:0;list-style-type:inherit}.mw-parser-output .reflist-columns-2{column-width:30em}.mw-parser-output .reflist-columns-3{column-width:25em}.mw-parser-output .reflist-columns{margin-top:0.3em}.mw-parser-output .reflist-columns ol{margin-top:0}.mw-parser-output .reflist-columns li{page-break-inside:avoid;break-inside:avoid-column}.mw-parser-output .reflist-upper-alpha{list-style-type:upper-alpha}.mw-parser-output .reflist-upper-roman{list-style-type:upper-roman}.mw-parser-output .reflist-lower-alpha{list-style-type:lower-alpha}.mw-parser-output .reflist-lower-greek{list-style-type:lower-greek}.mw-parser-output .reflist-lower-roman{list-style-type:lower-roman}


/* end https://en.wikipedia.org/ */
</style><div class="reflist">
<div class="mw-references-wrap mw-references-columns"><ol class="references">
<li id="cite_note-devoe1964-1"><span class="mw-cite-backlink"><b><a href="#cite_ref-devoe1964_1-0">^</a></b></span> <span class="reference-text"><style data-mw-deduplicate="TemplateStyles:r1238218222">
/* start https://en.wikipedia.org/ */


.mw-parser-output cite.citation{font-style:inherit;word-wrap:break-word}.mw-parser-output .citation q{quotes:"\"""\"""'""'"}.mw-parser-output .citation:target{background-color:rgba(0,127,255,0.133)}.mw-parser-output .id-lock-free.id-lock-free a{background:url("./mw/Lock-green.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-limited.id-lock-limited a,.mw-parser-output .id-lock-registration.id-lock-registration a{background:url("./mw/Lock-gray-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-subscription.id-lock-subscription a{background:url("./mw/Lock-red-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .cs1-ws-icon a{background:url("./mw/Wikisource-logo.svg")right 0.1em center/12px no-repeat}body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-free a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-limited a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-registration a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-subscription a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .cs1-ws-icon a{background-size:contain;padding:0 1em 0 0}.mw-parser-output .cs1-code{color:inherit;background:inherit;border:none;padding:inherit}.mw-parser-output .cs1-hidden-error{display:none;color:var(--color-error,#d33)}.mw-parser-output .cs1-visible-error{color:var(--color-error,#d33)}.mw-parser-output .cs1-maint{display:none;color:#085;margin-left:0.3em}.mw-parser-output .cs1-kern-left{padding-left:0.2em}.mw-parser-output .cs1-kern-right{padding-right:0.2em}.mw-parser-output .citation .mw-selflink{font-weight:inherit}@media screen{.mw-parser-output .cs1-format{font-size:95%}html.skin-theme-clientpref-night .mw-parser-output .cs1-maint{color:#18911f}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .cs1-maint{color:#18911f}}


/* end https://en.wikipedia.org/ */
</style><cite id="CITEREFDeVoe1964" class="citation journal cs1">DeVoe, Howard (1964-07-15). "Optical properties of molecular aggregates. I. Classical model of electronic absorption and refraction". <i>J. Chem. Phys</i>. <b>41</b> (2): <span class="nowrap">393–</span>400. <a href="Bibcode_(identifier)" class="mw-redirect" title="Bibcode (identifier)">Bibcode</a>:<a rel="nofollow" class="external text" href="https://ui.adsabs.harvard.edu/abs/1964JChPh..41..393D">1964JChPh..41..393D</a>. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1063%2F1.1725879">10.1063/1.1725879</a>.</cite></span>
</li>
<li id="cite_note-purcell1973-2"><span class="mw-cite-backlink">^ <a href="#cite_ref-purcell1973_2-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-purcell1973_2-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><cite id="CITEREFPurcellPennypacker1973" class="citation journal cs1">Purcell, E. M.; Pennypacker, C. R. (1973). "Scattering and absorption of light by nonspherical dielectric grains". <i>Astrophys. J</i>. <b>186</b>: <span class="nowrap">705–</span>714. <a href="Bibcode_(identifier)" class="mw-redirect" title="Bibcode (identifier)">Bibcode</a>:<a rel="nofollow" class="external text" href="https://ui.adsabs.harvard.edu/abs/1973ApJ...186..705P">1973ApJ...186..705P</a>. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1086%2F152538">10.1086/152538</a>.</cite></span>
</li>
<li id="cite_note-singham1986-3"><span class="mw-cite-backlink"><b><a href="#cite_ref-singham1986_3-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFSinghamSalzman1986" class="citation journal cs1">Singham, S. B.; Salzman, G. C. (1986). "Evaluation of the scattering matrix of an arbitrary particle using the coupled dipole approximation". <i>J. Chem. Phys</i>. <b>84</b> (5): <span class="nowrap">2658–</span>2667. <a href="Bibcode_(identifier)" class="mw-redirect" title="Bibcode (identifier)">Bibcode</a>:<a rel="nofollow" class="external text" href="https://ui.adsabs.harvard.edu/abs/1986JChPh..84.2658S">1986JChPh..84.2658S</a>. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1063%2F1.450338">10.1063/1.450338</a>.</cite></span>
</li>
<li id="cite_note-singham1987-4"><span class="mw-cite-backlink"><b><a href="#cite_ref-singham1987_4-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFSinghamBohren1987" class="citation journal cs1">Singham, S. B.; Bohren, C. F. (1987-01-01). "Light scattering by an arbitrary particle: a physical reformulation of the coupled dipole method". <i>Opt. Lett</i>. <b>12</b> (1): <span class="nowrap">10–</span>12. <a href="Bibcode_(identifier)" class="mw-redirect" title="Bibcode (identifier)">Bibcode</a>:<a rel="nofollow" class="external text" href="https://ui.adsabs.harvard.edu/abs/1987OptL...12...10S">1987OptL...12...10S</a>. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1364%2FOL.12.000010">10.1364/OL.12.000010</a>.</cite></span>
</li>
<li id="cite_note-lorentz1909-5"><span class="mw-cite-backlink"><b><a href="#cite_ref-lorentz1909_5-0">^</a></b></span> <span class="reference-text">H. A. Lorentz, <i>Theory of Electrons</i>, Teubner, Leipzig, 1909.</span>
</li>
<li id="cite_note-Yurkin2007a-6"><span class="mw-cite-backlink">^ <a href="#cite_ref-Yurkin2007a_6-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-Yurkin2007a_6-1"><sup><i><b>b</b></i></sup></a> <a href="#cite_ref-Yurkin2007a_6-2"><sup><i><b>c</b></i></sup></a></span> <span class="reference-text"><cite id="CITEREFYurkinHoekstra2007" class="citation journal cs1">Yurkin, M. A.; Hoekstra, A. G. (2007). <a rel="nofollow" class="external text" href="https://scattering.ru/papers/Yurkin%20and%20Hoekstra%20-%202007%20-%20The%20discrete%20dipole%20approximation%20an%20overview%20and.pdf">"The discrete dipole approximation: an overview and recent developments"</a> <span class="cs1-format">(PDF)</span>. <i>J. Quant. Spectrosc. Radiat. Transfer</i>. <b>106</b> (<span class="nowrap">1–</span>3): <span class="nowrap">558–</span>589. <a href="ArXiv_(identifier)" class="mw-redirect" title="ArXiv (identifier)">arXiv</a>:<span class="id-lock-free" title="Freely accessible"><a rel="nofollow" class="external text" href="https://arxiv.org/abs/0704.0038">0704.0038</a></span>. <a href="Bibcode_(identifier)" class="mw-redirect" title="Bibcode (identifier)">Bibcode</a>:<a rel="nofollow" class="external text" href="https://ui.adsabs.harvard.edu/abs/2007JQSRT.106..558Y">2007JQSRT.106..558Y</a>. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1016%2Fj.jqsrt.2007.01.034">10.1016/j.jqsrt.2007.01.034</a>.</cite></span>
</li>
<li id="cite_note-draine1994-7"><span class="mw-cite-backlink">^ <a href="#cite_ref-draine1994_7-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-draine1994_7-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><cite id="CITEREFDraineFlatau1994" class="citation journal cs1">Draine, B. T.; Flatau, P. J. (1994). "Discrete dipole approximation for scattering calculations". <i>J. Opt. Soc. Am. A</i>. <b>11</b> (4): <span class="nowrap">1491–</span>1499. <a href="Bibcode_(identifier)" class="mw-redirect" title="Bibcode (identifier)">Bibcode</a>:<a rel="nofollow" class="external text" href="https://ui.adsabs.harvard.edu/abs/1994JOSAA..11.1491D">1994JOSAA..11.1491D</a>. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1364%2FJOSAA.11.001491">10.1364/JOSAA.11.001491</a>.</cite></span>
</li>
<li id="cite_note-Yurkin2023-8"><span class="mw-cite-backlink"><b><a href="#cite_ref-Yurkin2023_8-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFYurkin2023" class="citation book cs1">Yurkin, Maxim A. (2023). "Discrete Dipole Approximation". <a rel="nofollow" class="external text" href="https://scattering.ru/books/Yurkin%20-%202023%20-%20Discrete%20dipole%20approximation.pdf"><i>Light, Plasmonics and Particles</i></a> <span class="cs1-format">(PDF)</span>. Elsevier. pp.&nbsp;<span class="nowrap">167–</span>198. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1016%2FB978-0-323-99901-4.00020-2">10.1016/B978-0-323-99901-4.00020-2</a>. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&nbsp;<bdi>978-0-323-99901-4</bdi>.</cite></span>
</li>
<li id="cite_note-chaumet2022discrete-9"><span class="mw-cite-backlink"><b><a href="#cite_ref-chaumet2022discrete_9-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFChaumet2022" class="citation journal cs1">Chaumet, Patrick C. (2022). <a rel="nofollow" class="external text" href="https://doi.org/10.3390%2Fmath10173049">"The discrete dipole approximation: A review"</a>. <i>Mathematics</i>. <b>10</b> (17): 3049. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<span class="id-lock-free" title="Freely accessible"><a rel="nofollow" class="external text" href="https://doi.org/10.3390%2Fmath10173049">10.3390/math10173049</a></span>.</cite></span>
</li>
<li id="cite_note-draine2008-10"><span class="mw-cite-backlink"><b><a href="#cite_ref-draine2008_10-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFDraineFlatau2008" class="citation journal cs1">Draine, B. T.; Flatau, P. J. (2008). "The discrete dipole approximation for periodic targets: theory and tests". <i>J. Opt. Soc. Am. A</i>. <b>25</b> (11): <span class="nowrap">2693–</span>2703. <a href="ArXiv_(identifier)" class="mw-redirect" title="ArXiv (identifier)">arXiv</a>:<span class="id-lock-free" title="Freely accessible"><a rel="nofollow" class="external text" href="https://arxiv.org/abs/0809.0338">0809.0338</a></span>. <a href="Bibcode_(identifier)" class="mw-redirect" title="Bibcode (identifier)">Bibcode</a>:<a rel="nofollow" class="external text" href="https://ui.adsabs.harvard.edu/abs/2008JOSAA..25.2693D">2008JOSAA..25.2693D</a>. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1364%2FJOSAA.25.002693">10.1364/JOSAA.25.002693</a>. <a href="PMID_(identifier)" class="mw-redirect" title="PMID (identifier)">PMID</a>&nbsp;<a rel="nofollow" class="external text" href="https://pubmed.ncbi.nlm.nih.gov/18978846">18978846</a>.</cite></span>
</li>
<li id="cite_note-chaumet2003-11"><span class="mw-cite-backlink"><b><a href="#cite_ref-chaumet2003_11-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFChaumetRahmaniBryant2003" class="citation journal cs1">Chaumet, Patrick C.; Rahmani, Adel; Bryant, Garnett W. (2003-04-02). "Generalization of the coupled dipole method to periodic structures". <i>Phys. Rev. B</i>. <b>67</b> (16): 165404. <a href="ArXiv_(identifier)" class="mw-redirect" title="ArXiv (identifier)">arXiv</a>:<span class="id-lock-free" title="Freely accessible"><a rel="nofollow" class="external text" href="https://arxiv.org/abs/physics/0305051">physics/0305051</a></span>. <a href="Bibcode_(identifier)" class="mw-redirect" title="Bibcode (identifier)">Bibcode</a>:<a rel="nofollow" class="external text" href="https://ui.adsabs.harvard.edu/abs/2003PhRvB..67p5404C">2003PhRvB..67p5404C</a>. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1103%2FPhysRevB.67.165404">10.1103/PhysRevB.67.165404</a>.</cite></span>
</li>
<li id="cite_note-schmehl1997-12"><span class="mw-cite-backlink"><b><a href="#cite_ref-schmehl1997_12-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFSchmehlNebekerHirleman1997" class="citation journal cs1">Schmehl, R.; Nebeker, B. M.; Hirleman, E. D. (1997-11-01). "Discrete-dipole approximation for scattering by features on surfaces using FFT techniques". <i>J. Opt. Soc. Am. A</i>. <b>14</b> (11): <span class="nowrap">3026–</span>3036. <a href="Bibcode_(identifier)" class="mw-redirect" title="Bibcode (identifier)">Bibcode</a>:<a rel="nofollow" class="external text" href="https://ui.adsabs.harvard.edu/abs/1997JOSAA..14.3026S">1997JOSAA..14.3026S</a>. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1364%2FJOSAA.14.003026">10.1364/JOSAA.14.003026</a>.</cite></span>
</li>
<li id="cite_note-yurkin2015-13"><span class="mw-cite-backlink"><b><a href="#cite_ref-yurkin2015_13-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFYurkinHuntemann2015" class="citation journal cs1">Yurkin, M. A.; Huntemann, M. (2015). <a rel="nofollow" class="external text" href="https://scattering.ru/papers/Yurkin%20and%20Huntemann%20-%202015%20-%20Rigorous%20and%20fast%20discrete%20dipole%20approximation%20fo.pdf">"Rigorous and fast discrete dipole approximation for particles near a plane interface"</a> <span class="cs1-format">(PDF)</span>. <i>J. Phys. Chem. C</i>. <b>119</b> (52): <span class="nowrap">29088–</span>29094. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1021%2Facs.jpcc.5b09271">10.1021/acs.jpcc.5b09271</a>.</cite></span>
</li>
<li id="cite_note-penttila2007-14"><span class="mw-cite-backlink">^ <a href="#cite_ref-penttila2007_14-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-penttila2007_14-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><cite id="CITEREFPenttiläZubkoLummeMuinonen2007" class="citation journal cs1">Penttilä, A.; Zubko, E.; Lumme, K.; Muinonen, K.; Yurkin, M. A. (2007). <a rel="nofollow" class="external text" href="https://scattering.ru/papers/Penttila%20et%20al.%20-%202007%20-%20Comparison%20between%20discrete%20dipole%20implementations.pdf">"Comparison between discrete dipole implementations and exact techniques"</a> <span class="cs1-format">(PDF)</span>. <i>J. Quant. Spectrosc. Radiat. Transfer</i>. <b>106</b> (<span class="nowrap">1–</span>3): <span class="nowrap">417–</span>436. <a href="Bibcode_(identifier)" class="mw-redirect" title="Bibcode (identifier)">Bibcode</a>:<a rel="nofollow" class="external text" href="https://ui.adsabs.harvard.edu/abs/2007JQSRT.106..417P">2007JQSRT.106..417P</a>. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1016%2Fj.jqsrt.2007.01.026">10.1016/j.jqsrt.2007.01.026</a>.</cite></span>
</li>
<li id="cite_note-zubko2010-15"><span class="mw-cite-backlink"><b><a href="#cite_ref-zubko2010_15-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFZubkoPetrovGrynkoShkuratov2010" class="citation journal cs1">Zubko, E.; Petrov, D.; Grynko, Y.; Shkuratov, Y.; Okamoto, H. (2010). "Validity criteria of the discrete dipole approximation". <i>Appl. Opt</i>. <b>49</b> (8): <span class="nowrap">1267–</span>1279. <a href="Bibcode_(identifier)" class="mw-redirect" title="Bibcode (identifier)">Bibcode</a>:<a rel="nofollow" class="external text" href="https://ui.adsabs.harvard.edu/abs/2010ApOpt..49.1267Z">2010ApOpt..49.1267Z</a>. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1364%2FAO.49.001267">10.1364/AO.49.001267</a>. <a href="PMID_(identifier)" class="mw-redirect" title="PMID (identifier)">PMID</a>&nbsp;<a rel="nofollow" class="external text" href="https://pubmed.ncbi.nlm.nih.gov/20220882">20220882</a>.</cite></span>
</li>
<li id="cite_note-smunev2015-16"><span class="mw-cite-backlink"><b><a href="#cite_ref-smunev2015_16-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFSmunevChaumetYurkin2015" class="citation journal cs1">Smunev, D. A.; Chaumet, P. C.; Yurkin, M. A. (2015). <a rel="nofollow" class="external text" href="https://scattering.ru/papers/Smunev%20et%20al.%20-%202015%20-%20Rectangular%20dipoles%20in%20the%20discrete%20dipole%20approxi.pdf">"Rectangular dipoles in the discrete dipole approximation"</a> <span class="cs1-format">(PDF)</span>. <i>J. Quant. Spectrosc. Radiat. Transfer</i>. <b>156</b>: <span class="nowrap">67–</span>79. <a href="Bibcode_(identifier)" class="mw-redirect" title="Bibcode (identifier)">Bibcode</a>:<a rel="nofollow" class="external text" href="https://ui.adsabs.harvard.edu/abs/2015JQSRT.156...67S">2015JQSRT.156...67S</a>. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1016%2Fj.jqsrt.2015.01.019">10.1016/j.jqsrt.2015.01.019</a>.</cite></span>
</li>
<li id="cite_note-Petravic1979-17"><span class="mw-cite-backlink"><b><a href="#cite_ref-Petravic1979_17-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFPetravicKuo-Petravic1979" class="citation journal cs1">Petravic, M.; Kuo-Petravic, G. (1979). <a rel="nofollow" class="external text" href="https://digital.library.unt.edu/ark:/67531/metadc1195635/">"An ILUCG algorithm which minimizes in the euclidean norm"</a>. <i>Journal of Computational Physics</i>. <b>32</b> (2): <span class="nowrap">263–</span>269. <a href="Bibcode_(identifier)" class="mw-redirect" title="Bibcode (identifier)">Bibcode</a>:<a rel="nofollow" class="external text" href="https://ui.adsabs.harvard.edu/abs/1979JCoPh..32..263P">1979JCoPh..32..263P</a>. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1016%2F0021-9991%2879%2990133-5">10.1016/0021-9991(79)90133-5</a>.</cite></span>
</li>
<li id="cite_note-chaumet2024-18"><span class="mw-cite-backlink"><b><a href="#cite_ref-chaumet2024_18-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFChaumet2024" class="citation journal cs1">Chaumet, Patrick C. (2024). "A comparative study of efficient iterative solvers for the discrete dipole approximation". <i>J. Quant. Spectrosc. Radiat. Transfer</i>. <b>312</b> 108816. <a href="Bibcode_(identifier)" class="mw-redirect" title="Bibcode (identifier)">Bibcode</a>:<a rel="nofollow" class="external text" href="https://ui.adsabs.harvard.edu/abs/2024JQSRT.31208816C">2024JQSRT.31208816C</a>. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1016%2Fj.jqsrt.2023.108816">10.1016/j.jqsrt.2023.108816</a>.</cite></span>
</li>
<li id="cite_note-Goodman1991-19"><span class="mw-cite-backlink"><b><a href="#cite_ref-Goodman1991_19-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFGoodmanDraineFlatau1991" class="citation journal cs1">Goodman, J. J.; Draine, B. T.; Flatau, P. J. (1991). "Application of fast-Fourier-transform techniques to the discrete-dipole approximation". <i>Opt. Lett</i>. <b>16</b> (15): <span class="nowrap">1198–</span>1200. <a href="Bibcode_(identifier)" class="mw-redirect" title="Bibcode (identifier)">Bibcode</a>:<a rel="nofollow" class="external text" href="https://ui.adsabs.harvard.edu/abs/1991OptL...16.1198G">1991OptL...16.1198G</a>. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1364%2FOL.16.001198">10.1364/OL.16.001198</a>. <a href="PMID_(identifier)" class="mw-redirect" title="PMID (identifier)">PMID</a>&nbsp;<a rel="nofollow" class="external text" href="https://pubmed.ncbi.nlm.nih.gov/19776919">19776919</a>.</cite></span>
</li>
<li id="cite_note-Temperton1983-20"><span class="mw-cite-backlink"><b><a href="#cite_ref-Temperton1983_20-0">^</a></b></span> <span class="reference-text">C. Temperton. "Self-sorting mixed-radix fast Fourier transforms." Journal of Computational Physics, 52.1 (1983): 1–23.</span>
</li>
<li id="cite_note-matlab2021-21"><span class="mw-cite-backlink"><b><a href="#cite_ref-matlab2021_21-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFShabaninezhadAwanRamakrishna2021" class="citation journal cs1">Shabaninezhad, M.; Awan, M. G.; Ramakrishna, G. (2021). "MATLAB package for discrete dipole approximation by graphics processing unit: Fast Fourier Transform and Biconjugate Gradient". <i>J. Quant. Spectrosc. Radiat. Transfer</i>. <b>262</b> 107501. <a href="Bibcode_(identifier)" class="mw-redirect" title="Bibcode (identifier)">Bibcode</a>:<a rel="nofollow" class="external text" href="https://ui.adsabs.harvard.edu/abs/2021JQSRT.26207501S">2021JQSRT.26207501S</a>. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1016%2Fj.jqsrt.2020.107501">10.1016/j.jqsrt.2020.107501</a>.</cite></span>
</li>
<li id="cite_note-Barrowes2001-22"><span class="mw-cite-backlink"><b><a href="#cite_ref-Barrowes2001_22-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFBarrowesTeixeiraKong2001" class="citation journal cs1">Barrowes, B. E.; Teixeira, F. L.; Kong, J. A. (2001). "Fast algorithm for matrix–vector multiply of asymmetric multilevel block-Toeplitz matrices in 3-D scattering". <i>Microw. Opt. Technol. Lett</i>. <b>31</b> (1): <span class="nowrap">28–</span>32. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1002%2Fmop.1348">10.1002/mop.1348</a>.</cite></span>
</li>
<li id="cite_note-mcdonald2009-23"><span class="mw-cite-backlink"><b><a href="#cite_ref-mcdonald2009_23-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFMcDonaldGoldenJennings2009" class="citation journal cs1">McDonald, J.; Golden, A.; Jennings, G. (2009). "OpenDDA: a high-performance computational framework for the discrete dipole approximation". <i>Int. J. High Perform. Comput. Appl</i>. <b>23</b> (1): <span class="nowrap">42–</span>61. <a href="ArXiv_(identifier)" class="mw-redirect" title="ArXiv (identifier)">arXiv</a>:<span class="id-lock-free" title="Freely accessible"><a rel="nofollow" class="external text" href="https://arxiv.org/abs/0908.0863">0908.0863</a></span>. <a href="Bibcode_(identifier)" class="mw-redirect" title="Bibcode (identifier)">Bibcode</a>:<a rel="nofollow" class="external text" href="https://ui.adsabs.harvard.edu/abs/2009arXiv0908.0863M">2009arXiv0908.0863M</a>. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1177%2F1094342008097914">10.1177/1094342008097914</a>.</cite></span>
</li>
<li id="cite_note-fu2023flashfftconv-24"><span class="mw-cite-backlink"><b><a href="#cite_ref-fu2023flashfftconv_24-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFFuKumbongNguyenRé2023" class="citation arxiv cs1">Fu, Daniel Y.; Kumbong, Hermann; Nguyen, Eric; Ré, Christopher (2023). "FlashFFTConv: Efficient Convolutions for Long Sequences with Tensor Cores". <a href="ArXiv_(identifier)" class="mw-redirect" title="ArXiv (identifier)">arXiv</a>:<span class="id-lock-free" title="Freely accessible"><a rel="nofollow" class="external text" href="https://arxiv.org/abs/2311.05908">2311.05908</a></span> [<a rel="nofollow" class="external text" href="https://arxiv.org/archive/cs.LG">cs.LG</a>].</cite></span>
</li>
<li id="cite_note-bowman2011efficient-25"><span class="mw-cite-backlink"><b><a href="#cite_ref-bowman2011efficient_25-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFBowmanRoberts2011" class="citation journal cs1">Bowman, J. C.; Roberts, M. (2011). "Efficient dealiased convolutions without padding". <i>SIAM J. Sci. Comput</i>. <b>33</b> (1): <span class="nowrap">386–</span>406. <a href="ArXiv_(identifier)" class="mw-redirect" title="ArXiv (identifier)">arXiv</a>:<span class="id-lock-free" title="Freely accessible"><a rel="nofollow" class="external text" href="https://arxiv.org/abs/1008.1366">1008.1366</a></span>. <a href="Bibcode_(identifier)" class="mw-redirect" title="Bibcode (identifier)">Bibcode</a>:<a rel="nofollow" class="external text" href="https://ui.adsabs.harvard.edu/abs/2011SJSC...33..386B">2011SJSC...33..386B</a>. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1137%2F100787933">10.1137/100787933</a>.</cite></span>
</li>
<li id="cite_note-edalatpour2015-26"><span class="mw-cite-backlink"><b><a href="#cite_ref-edalatpour2015_26-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFEdalatpourČumaTrueaxBackman2015" class="citation journal cs1">Edalatpour, S.; Čuma, M.; Trueax, T.; Backman, R.; Francoeur, M. (2015). "Convergence analysis of the thermal discrete dipole approximation". <i>Phys. Rev. E</i>. <b>91</b> (6): 063307. <a href="ArXiv_(identifier)" class="mw-redirect" title="ArXiv (identifier)">arXiv</a>:<span class="id-lock-free" title="Freely accessible"><a rel="nofollow" class="external text" href="https://arxiv.org/abs/1502.02186">1502.02186</a></span>. <a href="Bibcode_(identifier)" class="mw-redirect" title="Bibcode (identifier)">Bibcode</a>:<a rel="nofollow" class="external text" href="https://ui.adsabs.harvard.edu/abs/2015PhRvE..91f3307E">2015PhRvE..91f3307E</a>. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1103%2FPhysRevE.91.063307">10.1103/PhysRevE.91.063307</a>. <a href="PMID_(identifier)" class="mw-redirect" title="PMID (identifier)">PMID</a>&nbsp;<a rel="nofollow" class="external text" href="https://pubmed.ncbi.nlm.nih.gov/26172822">26172822</a>.</cite></span>
</li>
<li id="cite_note-Moncada-Villa2022-27"><span class="mw-cite-backlink"><b><a href="#cite_ref-Moncada-Villa2022_27-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFMoncada-VillaCuevas2022" class="citation journal cs1">Moncada-Villa, E.; Cuevas, J. C. (2022). "Thermal discrete dipole approximation for near-field radiative heat transfer in many-body systems with arbitrary nonreciprocal bodies". <i>Physical Review B</i>. <b>106</b> (23): 235430. <a href="ArXiv_(identifier)" class="mw-redirect" title="ArXiv (identifier)">arXiv</a>:<span class="id-lock-free" title="Freely accessible"><a rel="nofollow" class="external text" href="https://arxiv.org/abs/2206.14921">2206.14921</a></span>. <a href="Bibcode_(identifier)" class="mw-redirect" title="Bibcode (identifier)">Bibcode</a>:<a rel="nofollow" class="external text" href="https://ui.adsabs.harvard.edu/abs/2022PhRvB.106w5430M">2022PhRvB.106w5430M</a>. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1103%2FPhysRevB.106.235430">10.1103/PhysRevB.106.235430</a>.</cite></span>
</li>
</ol></div></div></div><!--htdig_noindex--><div><div class="zim-footer">
This article is issued from <a class="external text" title="Last edited on 2025-07-30" href="https://en.wikipedia.org/wiki/?title=Discrete_dipole_approximation&amp;oldid=1303335089">Wikipedia</a>. The text is available under <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.en">Creative Commons Attribution-Share Alike 4.0</a> unless otherwise noted. Additional terms may apply for the media files.
</div>
</div><!--/htdig_noindex--></div>
</div>
</main>
</div>
</div>
</div>

</body></html>